diff options
| author | cedricnjanga | 2018-04-04 14:55:25 -0700 |
|---|---|---|
| committer | GitHub | 2018-04-04 14:55:25 -0700 |
| commit | c327d2ec90851bfe1f81c072ef328bd68ea55f38 (patch) | |
| tree | 89a52107e5fe4bef33fa273fc32240dcc9901986 /spec | |
| parent | f04d4420053dc995bad52b5b87ff7f15e302c2b3 (diff) | |
| parent | 461e1b085e745e819e95649bf3509ca6055ce827 (diff) | |
| download | chouette-core-6370-translations-2.tar.bz2 | |
Merge branch 'master' into 6370-translations-26370-translations-2
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/controllers/routes_controller_spec.rb | 36 | ||||
| -rw-r--r-- | spec/models/chouette/route/route_duplication_spec.rb | 3 |
2 files changed, 36 insertions, 3 deletions
diff --git a/spec/controllers/routes_controller_spec.rb b/spec/controllers/routes_controller_spec.rb index e4dc6bc23..a001a942d 100644 --- a/spec/controllers/routes_controller_spec.rb +++ b/spec/controllers/routes_controller_spec.rb @@ -83,6 +83,42 @@ RSpec.describe RoutesController, type: :controller do expect(Chouette::Route.last.name).to eq(I18n.t('activerecord.copy', name: route.name)) expect(Chouette::Route.last.published_name).to eq(route.published_name) + expect(Chouette::Route.last.stop_area_ids).to eq route.stop_area_ids + end + + context "when opposite = true" do + it "creates a new route on the opposite way " do + expect do + post :duplicate, + referential_id: route.line.line_referential_id, + line_id: route.line_id, + id: route.id, + opposite: TRUE + end.to change { Chouette::Route.count }.by(1) + + expect(Chouette::Route.last.name).to eq(I18n.t('routes.opposite', name: route.name)) + expect(Chouette::Route.last.published_name).to eq(Chouette::Route.last.name) + expect(Chouette::Route.last.opposite_route).to eq(route) + expect(Chouette::Route.last.stop_area_ids).to eq route.stop_area_ids.reverse + end + end + + context "on a duplicated route" do + let!(:duplicated){ route.duplicate } + it "creates a new route on the opposite way " do + expect do + post :duplicate, + referential_id: duplicated.line.line_referential_id, + line_id: duplicated.line_id, + id: duplicated.id, + opposite: TRUE + end.to change { Chouette::Route.count }.by(1) + + expect(Chouette::Route.last.name).to eq(I18n.t('routes.opposite', name: duplicated.name)) + expect(Chouette::Route.last.published_name).to eq(Chouette::Route.last.name) + expect(Chouette::Route.last.opposite_route).to eq(duplicated) + expect(Chouette::Route.last.stop_area_ids).to eq duplicated.stop_area_ids.reverse + end end end end diff --git a/spec/models/chouette/route/route_duplication_spec.rb b/spec/models/chouette/route/route_duplication_spec.rb index 8b3a948a2..47233b04e 100644 --- a/spec/models/chouette/route/route_duplication_spec.rb +++ b/spec/models/chouette/route/route_duplication_spec.rb @@ -8,9 +8,6 @@ RSpec.describe Chouette::Route do route.duplicate expect( values_for_create(Chouette::Route.last, except: %w{objectid name checksum checksum_source}) ).to eq( values_for_create( route, except: %w{objectid name checksum checksum_source} ) ) end - it 'and others cannot' do - expect{ route.duplicate name: 'YAN', line_id: 42 }.to raise_error(ArgumentError) - end it 'same associated stop_areeas' do expect( route.duplicate.stop_areas.pluck(:id) ).to eq(route.stop_areas.pluck(:id)) end |
