aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-06-01 12:30:49 +0200
committerXinhui2017-06-01 12:30:54 +0200
commite778ac449fd96324fe5963a22d446979f3623774 (patch)
tree829b6992f72795b62548609e53a7b6624eafe8c2
parent622e19acff68a38361063df1abf8e98152f3d988 (diff)
downloadchouette-core-e778ac449fd96324fe5963a22d446979f3623774.tar.bz2
VehicleJourney#vehicle_journey_at_stops_matrix dummy attribute spec
Refs #3625
-rw-r--r--app/models/chouette/vehicle_journey.rb2
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb22
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