diff options
| author | Alban Peignier | 2018-03-15 10:43:38 +0100 | 
|---|---|---|
| committer | GitHub | 2018-03-15 10:43:38 +0100 | 
| commit | ff1c63581138e31da48766a07eaa46655a0842bb (patch) | |
| tree | be99d6ff304b587cf1c8c1f79a871a8444a35862 | |
| parent | 7076c427d18548d7e9f5c87de26a936b73ebe8fd (diff) | |
| parent | 18339a8ddfc48af42ac85b4ca7fd5c5b4bbd008f (diff) | |
| download | chouette-core-ff1c63581138e31da48766a07eaa46655a0842bb.tar.bz2 | |
Merge pull request #376 from af83/6006-fix-stops-filter
Fix VehicleJourney#with_ordered_stop_area_ids scope. Refs #6006 
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 2 | ||||
| -rw-r--r-- | spec/controllers/referential_vehicle_journeys_controller_spec.rb | 12 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 46522c354..b3987060a 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -62,7 +62,7 @@ module Chouette      scope :with_ordered_stop_area_ids, ->(first, second){        if first.present? && second.present?          joins(journey_pattern: :stop_points). -          joins('INNER JOIN "journey_patterns" ON "journey_patterns"."id" = "vehicle_journeys"."journey_pattern_id" INNER JOIN "journey_patterns_stop_points" ON "journey_patterns_stop_points"."journey_pattern_id" = "journey_patterns"."id" INNER JOIN "stop_points" as "second_stop_points" ON "stop_points"."id" = "journey_patterns_stop_points"."stop_point_id"'). +          joins('INNER JOIN "journey_patterns" ON "journey_patterns"."id" = "vehicle_journeys"."journey_pattern_id" INNER JOIN "journey_patterns_stop_points" ON "journey_patterns_stop_points"."journey_pattern_id" = "journey_patterns"."id" INNER JOIN "stop_points" as "second_stop_points" ON "second_stop_points"."id" = "journey_patterns_stop_points"."stop_point_id"').            where('stop_points.stop_area_id = ?', first).            where('second_stop_points.stop_area_id = ? and stop_points.position < second_stop_points.position', second)        else diff --git a/spec/controllers/referential_vehicle_journeys_controller_spec.rb b/spec/controllers/referential_vehicle_journeys_controller_spec.rb index 50230dd9e..6bf4c7553 100644 --- a/spec/controllers/referential_vehicle_journeys_controller_spec.rb +++ b/spec/controllers/referential_vehicle_journeys_controller_spec.rb @@ -80,6 +80,18 @@ RSpec.describe ReferentialVehicleJourneysController, type: :controller do            expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2)          end        end + +      context "with both stops one being unused" do +        let(:from_area_id){ vehicle_journey_1.stop_areas.first.id } +        let(:to_area_id){ +          stop_area = create :stop_area +          create :stop_point, stop_area: stop_area, route: vehicle_journey_1.route +          stop_area +        } +        it "should apply filters" do +          expect(assigns[:vehicle_journeys]).to eq [] +        end +      end      end    end | 
