diff options
| author | Xinhui | 2017-03-15 11:56:54 +0100 |
|---|---|---|
| committer | Xinhui | 2017-03-15 11:56:54 +0100 |
| commit | fa2fbe3f09b0330cb8b4e45a8f9b2c435c1a18b1 (patch) | |
| tree | a7a024cd590b79a3df89af7711cf159ee4ada407 /spec | |
| parent | 509022838bffd4044f36773cedb8b3a59c464ddd (diff) | |
| download | chouette-core-fa2fbe3f09b0330cb8b4e45a8f9b2c435c1a18b1.tar.bz2 | |
Wip delete vj from state
Refs #2777
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 0578ff4b1..b437bb577 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -1,5 +1,4 @@ require 'spec_helper' - describe Chouette::VehicleJourney, :type => :model do describe "state_update" do def vehicle_journey_to_state vj @@ -28,26 +27,23 @@ describe Chouette::VehicleJourney, :type => :model do 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) + it 'should delete vj with deletable set to true from state' do + state['deletable'] = true + collection = [state] + Chouette::VehicleJourney.state_update(route, collection) + expect(collection).to be_empty + end - 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 update departure_time' do + item = state['vehicle_journey_at_stops'].first + item['departure_time']['hour'] = (Time.now - 1.hour).strftime('%H') + item['departure_time']['minute'] = (Time.now - 1.hour).strftime('%M') - 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 + vehicle_journey.update_vehicle_journey_at_stops_state(state['vehicle_journey_at_stops']) + stop = vehicle_journey.vehicle_journey_at_stops.find(item['id']) - 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 + expect(stop.departure_time.strftime('%H')).to eq item['departure_time']['hour'] + expect(stop.departure_time.strftime('%M')).to eq item['departure_time']['minute'] end it 'should update arrival_time' do @@ -71,16 +67,26 @@ describe Chouette::VehicleJourney, :type => :model do expect(item['errors'][:arrival_time].size).to eq 1 end - it 'should update departure_time' do - item = state['vehicle_journey_at_stops'].first - item['departure_time']['hour'] = (Time.now - 1.hour).strftime('%H') - item['departure_time']['minute'] = (Time.now - 1.hour).strftime('%M') + 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) - vehicle_journey.update_vehicle_journey_at_stops_state(state['vehicle_journey_at_stops']) - stop = vehicle_journey.vehicle_journey_at_stops.find(item['id']) + 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 - expect(stop.departure_time.strftime('%H')).to eq item['departure_time']['hour'] - expect(stop.departure_time.strftime('%M')).to eq item['departure_time']['minute'] + 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 end |
