aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorTeddy Wing2018-05-14 12:41:27 +0200
committerTeddy Wing2018-05-14 12:41:27 +0200
commit84683c111e16e19c94a71f36f1d66c0745ad33d8 (patch)
tree6f2672dec257ffcd940442f8d815293bc9c270e4 /spec
parent4c94257d93c33bc2d6a2c4f146ebe0843763c89a (diff)
downloadchouette-core-84683c111e16e19c94a71f36f1d66c0745ad33d8.tar.bz2
CleanUp: Add `#destroy_routes_outside_referential`
This builds on `#destroy_vehicle_journeys_outside_referential` (which will soon be removed in favour of this new method). It destroys orphaned routes in a referential. Refs #6854
Diffstat (limited to 'spec')
-rw-r--r--spec/models/clean_up_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/models/clean_up_spec.rb b/spec/models/clean_up_spec.rb
index afd2d8721..cf15ab934 100644
--- a/spec/models/clean_up_spec.rb
+++ b/spec/models/clean_up_spec.rb
@@ -264,4 +264,24 @@ RSpec.describe CleanUp, :type => :model do
}
end
end
+
+ describe "#destroy_routes_outside_referential" do
+ let(:line_referential) { create(:line_referential) }
+ let(:line) { create(:line, line_referential: line_referential) }
+ let(:metadata) { create(:referential_metadata, lines: [line]) }
+ let(:referential) { create(:workbench_referential, metadatas: [metadata]) }
+ let(:cleaner) { create(:clean_up, referential: referential) }
+
+ it "destroys routes not in the the referential" do
+ route = create(:route)
+
+ cleaner.destroy_routes_outside_referential
+
+ expect(Chouette::Route.exists?(route.id)).to be false
+
+ line.routes.each do |route|
+ expect(route).not_to be_destroyed
+ end
+ end
+ end
end