aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorAlban Peignier2018-01-02 10:45:54 +0100
committerGitHub2018-01-02 10:45:54 +0100
commitabb61adf915c17817f05a646f48a388c7aca16f3 (patch)
tree8937c01fa2c871b6733ff04a7c6fa32533d1e531 /spec
parent6f95f17f3927a3ba997dfe7196dd4c2eaf9894e8 (diff)
parent820fefb271746fa7e20dc8abde30d57f5884e018 (diff)
downloadchouette-core-abb61adf915c17817f05a646f48a388c7aca16f3.tar.bz2
Merge pull request #191 from af83/5436-keep-stops-order-on-routes-cloning
Add specs on Route#duplicate to ensure the stops order is preserved. Refs #5436
Diffstat (limited to 'spec')
-rw-r--r--spec/models/chouette/route/route_duplication_spec.rb11
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) )