aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers
diff options
context:
space:
mode:
authorZog2018-02-13 14:37:23 +0100
committerAlban Peignier2018-02-19 22:29:55 +0100
commitba1e18ba0a641d34e6dcc7cba42931b1e5f00d1a (patch)
treeb12a48b30fd0967f36e7ea7044df60685efccf63 /spec/controllers
parent688ed83020fc97396382905b1409e2c61159abe3 (diff)
downloadchouette-core-ba1e18ba0a641d34e6dcc7cba42931b1e5f00d1a.tar.bz2
Refs #5911 @2h; Better stops filters on ReferentialVJs#index
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/referential_vehicle_journeys_controller_spec.rb50
1 files changed, 23 insertions, 27 deletions
diff --git a/spec/controllers/referential_vehicle_journeys_controller_spec.rb b/spec/controllers/referential_vehicle_journeys_controller_spec.rb
index cc6b44b9d..6b77208a4 100644
--- a/spec/controllers/referential_vehicle_journeys_controller_spec.rb
+++ b/spec/controllers/referential_vehicle_journeys_controller_spec.rb
@@ -44,7 +44,8 @@ RSpec.describe ReferentialVehicleJourneysController, type: :controller do
get :index, referential_id: referential, q: q
}
- let(:stop_area_ids){ [] }
+ let(:from_area_id){ nil }
+ let(:to_area_id){ nil }
def create_journey_pattern_with_stop_areas(*stop_areas)
j = create(:journey_pattern)
@@ -56,40 +57,35 @@ RSpec.describe ReferentialVehicleJourneysController, type: :controller do
j
end
- let(:q){ {stop_area_ids: stop_area_ids}}
- let(:stop_area_1){ create :stop_area }
- let(:stop_area_2){ create :stop_area }
- let!(:journey_1){ create_journey_pattern_with_stop_areas(stop_area_1)}
- let!(:journey_2){ create_journey_pattern_with_stop_areas(stop_area_2)}
- let!(:journey_1_and_2){ create_journey_pattern_with_stop_areas(stop_area_1, stop_area_2)}
- let!(:vehicle_journey_1){ create(:vehicle_journey, journey_pattern: journey_1)}
- let!(:vehicle_journey_2){ create(:vehicle_journey, journey_pattern: journey_2)}
- let!(:vehicle_journey_1_and_2){ create(:vehicle_journey, journey_pattern: journey_1_and_2)}
-
- context "with one stop" do
- let(:stop_area_ids){[stop_area_1.id]}
+ let(:q){ {stop_areas: {start: from_area_id, end: to_area_id}} }
+ let(:journey_pattern){ create(:journey_pattern) }
+ let(:journey_pattern_2){ create(:journey_pattern) }
+
+ let!(:vehicle_journey_1){ create(:vehicle_journey, journey_pattern: journey_pattern)}
+ let!(:vehicle_journey_2){ create(:vehicle_journey, journey_pattern: journey_pattern_2)}
+
+ context "with the start stop" do
+ let(:from_area_id){ vehicle_journey_1.stop_areas.first.id }
it "should apply filters" do
- expect(vehicle_journey_1.stop_areas).to include stop_area_1
- expect(vehicle_journey_2.stop_areas).to_not include stop_area_1
- expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_1
expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1)
expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2)
- expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1_and_2)
end
end
- context "with 2 stops" do
- let(:stop_area_ids){[stop_area_1.id, stop_area_2.id]}
+ context "with the end stop" do
+ let(:to_area_id){ vehicle_journey_1.stop_areas.last.id }
it "should apply filters" do
- expect(vehicle_journey_1.stop_areas).to include stop_area_1
- expect(vehicle_journey_1.stop_areas).to_not include stop_area_2
- expect(vehicle_journey_2.stop_areas).to include stop_area_2
- expect(vehicle_journey_2.stop_areas).to_not include stop_area_1
- expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_1
- expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_2
- expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_1)
+ expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1)
+ expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2)
+ end
+ end
+
+ context "with both stops" do
+ let(:from_area_id){ vehicle_journey_1.stop_areas.first.id }
+ let(:to_area_id){ vehicle_journey_1.stop_areas.last.id }
+ it "should apply filters" do
+ expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1)
expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2)
- expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1_and_2)
end
end
end