diff options
| author | Zog | 2017-12-28 13:11:21 +0100 | 
|---|---|---|
| committer | Zog | 2017-12-28 13:11:21 +0100 | 
| commit | 820fefb271746fa7e20dc8abde30d57f5884e018 (patch) | |
| tree | dada392ba378098a83a92b6e057bd70f21e0da08 | |
| parent | e20ce60629e91c63d75701651c117177ce02aced (diff) | |
| download | chouette-core-820fefb271746fa7e20dc8abde30d57f5884e018.tar.bz2 | |
Refs #5436; Add specs on Route#duplicate to ensure the stops order is preserved5436-keep-stops-order-on-routes-cloning
| -rw-r--r-- | spec/models/chouette/route/route_duplication_spec.rb | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/spec/models/chouette/route/route_duplication_spec.rb b/spec/models/chouette/route/route_duplication_spec.rb index ee45b5005..8b3a948a2 100644 --- a/spec/models/chouette/route/route_duplication_spec.rb +++ b/spec/models/chouette/route/route_duplication_spec.rb @@ -2,7 +2,7 @@ RSpec.describe Chouette::Route do    let!( :route ){ create :route } -  context '#duplicate' do  +  context '#duplicate' do      describe 'properties' do        it 'same attribute values' do          route.duplicate @@ -23,7 +23,12 @@ RSpec.describe Chouette::Route do        it 'duplicates its stop points' do          expect{ route.duplicate }.to change{Chouette::StopPoint.count}.by(route.stop_points.count)        end -      it 'does bot duplicate the stop areas' do + +      it 'duplicates its stop points in the same order' do +        expect(route.duplicate.stop_points.order(:position).map(&:stop_area_id)).to eq route.stop_points.order(:position).map(&:stop_area_id) +      end + +      it 'does not duplicate the stop areas' do          expect{ route.duplicate }.not_to change{Chouette::StopArea.count}        end      end @@ -34,7 +39,7 @@ RSpec.describe Chouette::Route do        it 'the required attributes' do          expect( values_for_create(first_duplicate, except: %w{objectid name checksum checksum_source}) ).to eq( values_for_create( second_duplicate, except: %w{objectid name checksum checksum_source} ) ) -      end  +      end        it 'the stop areas' do          expect( first_duplicate.stop_areas.pluck(:id) ).to eq( route.stop_areas.pluck(:id) ) | 
