aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorXinhui2017-03-10 13:00:48 +0100
committerXinhui2017-03-10 13:00:48 +0100
commitbbeee45fbba338eeb857f9967a3c79519bf499bc (patch)
tree8c4e95530ab7ac962a4395f0cc33d2ed61a743f2 /spec
parent9a0e95969b9afaf6b5c63752d3963a96f4e50fb0 (diff)
downloadchouette-core-bbeee45fbba338eeb857f9967a3c79519bf499bc.tar.bz2
Refactoring vehicle_journey_at_stops_matrix
Diffstat (limited to 'spec')
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb26
1 files changed, 25 insertions, 1 deletions
diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb
index 4f55ba774..a6569d011 100644
--- a/spec/models/chouette/vehicle_journey_spec.rb
+++ b/spec/models/chouette/vehicle_journey_spec.rb
@@ -24,9 +24,33 @@ describe Chouette::VehicleJourney, :type => :model do
end
let(:route) { create :route }
- let(:vehicle_journey) { create :vehicle_journey, route: route }
+ let(:journey_pattern) { create :journey_pattern, route: route }
+ let(:vehicle_journey) { create :vehicle_journey, route: route, journey_pattern: journey_pattern }
+
let(:state) { vehicle_journey_to_state(vehicle_journey) }
+ describe '.vehicle_journey_at_stops_matrix' do
+ it 'should fill missing VehicleJourneyAtStop with dummy' do
+ vehicle_journey.vehicle_journey_at_stops.last.destroy
+ expect(vehicle_journey.reload.vehicle_journey_at_stops.map(&:id).count).to eq(route.stop_points.map(&:id).count - 1)
+
+ at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix
+ expect(at_stops.last.id).to be_nil
+ expect(at_stops.count).to eq route.stop_points.count
+ end
+
+ it 'should keep index order of VehicleJourneyAtStop' do
+ vehicle_journey.vehicle_journey_at_stops[3].destroy
+ at_stops = vehicle_journey.reload.vehicle_journey_at_stops_matrix
+
+ expect(at_stops[3].id).to be_nil
+ at_stops.delete_at(3)
+ at_stops.each do |stop|
+ expect(stop.id).not_to be_nil
+ end
+ end
+ end
+
it 'should update arrival_time' do
stop = state['vehicle_journey_at_stops'].first
stop['arrival_time']['hour'] = "10"