diff options
| author | Xinhui | 2017-06-01 12:30:49 +0200 |
|---|---|---|
| committer | Xinhui | 2017-06-01 12:30:54 +0200 |
| commit | e778ac449fd96324fe5963a22d446979f3623774 (patch) | |
| tree | 829b6992f72795b62548609e53a7b6624eafe8c2 | |
| parent | 622e19acff68a38361063df1abf8e98152f3d988 (diff) | |
| download | chouette-core-e778ac449fd96324fe5963a22d446979f3623774.tar.bz2 | |
VehicleJourney#vehicle_journey_at_stops_matrix dummy attribute spec
Refs #3625
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 2 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 22 |
2 files changed, 19 insertions, 5 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 38d4a1f81..61d62378f 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -62,7 +62,7 @@ module Chouette (route.stop_points.map(&:id) - at_stops.map(&:stop_point_id)).each do |id| vjas = Chouette::VehicleJourneyAtStop.new(stop_point_id: id) - vjas.dummy = active_stop_point_ids.include?(id) ? false : true + vjas.dummy = !active_stop_point_ids.include?(id) at_stops.insert(route.stop_points.map(&:id).index(id), vjas) end at_stops diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 4a108d7c0..6518e101f 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -190,8 +190,8 @@ describe Chouette::VehicleJourney, :type => :model do end end - describe '.vehicle_journey_at_stops_matrix' do - it 'should fill missing VehicleJourneyAtStop with dummy' do + describe '#vehicle_journey_at_stops_matrix' do + it 'should fill missing vjas with dummy vjas' do vehicle_journey.journey_pattern.stop_points.delete_all vehicle_journey.vehicle_journey_at_stops.delete_all @@ -201,14 +201,28 @@ describe Chouette::VehicleJourney, :type => :model do expect(at_stops.count).to eq route.stop_points.count end - it 'should fill VehicleJourneyAtStop with new vjas when vj has been save without departure time' do + it 'should set dummy to false for active stop_points vjas' do + # Destroy vjas but stop_points is still active + # it should fill a new vjas without dummy flag + vehicle_journey.vehicle_journey_at_stops[3].destroy + at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix + expect(at_stops[3].dummy).to be false + end + + it 'should set dummy to true for deactivated stop_points vjas' do + vehicle_journey.journey_pattern.stop_points.delete(vehicle_journey.journey_pattern.stop_points.first) + at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix + expect(at_stops.first.dummy).to be true + end + + it 'should fill vjas for active stop_points without vjas yet' do vehicle_journey.vehicle_journey_at_stops.destroy_all at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix expect(at_stops.map(&:stop_point_id)).to eq vehicle_journey.journey_pattern.stop_points.map(&:id) end - it 'should keep index order of VehicleJourneyAtStop' do + it 'should keep index order of vjas' do vehicle_journey.vehicle_journey_at_stops[3].destroy at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix |
