diff options
| author | Luc Donnet | 2018-03-30 18:30:46 +0200 |
|---|---|---|
| committer | GitHub | 2018-03-30 18:30:46 +0200 |
| commit | 48b92a8446d715d5e69fb235d811929fa3f19c07 (patch) | |
| tree | cf2619e6278a07d18c11baebadcfa8916812d990 /spec | |
| parent | c19ceea327dbccef26f50b5f02cc806d193da086 (diff) | |
| parent | 0fe85a4effbfddff399d09d41ed929c235ed310d (diff) | |
| download | chouette-core-48b92a8446d715d5e69fb235d811929fa3f19c07.tar.bz2 | |
Merge pull request #360 from af83/new-uniqueness-validation-for-ccblocks
New uniqueness validation for ccblocks
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/features/compliance_control_sets_spec.rb | 2 | ||||
| -rw-r--r-- | spec/lib/compliance_control_set_cloner_spec.rb | 2 | ||||
| -rw-r--r-- | spec/lib/compliance_control_set_copier_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/compliance_control_block_spec.rb | 12 |
4 files changed, 15 insertions, 3 deletions
diff --git a/spec/features/compliance_control_sets_spec.rb b/spec/features/compliance_control_sets_spec.rb index 0f4597db3..306f363a5 100644 --- a/spec/features/compliance_control_sets_spec.rb +++ b/spec/features/compliance_control_sets_spec.rb @@ -12,7 +12,7 @@ RSpec.describe "ComplianceControlSets", type: :feature do let(:other_control_cset) { create :compliance_control_set, organisation: other_orga } let(:blox){ - 2.times.map{ | _ | create :compliance_control_block, compliance_control_set: control_set } + 2.times.map{ |n| create :compliance_control_block, compliance_control_set: control_set, transport_mode: StifTransportModeEnumerations.transport_modes[n], transport_submode: StifTransportSubmodeEnumerations.transport_submodes[n] } } before do diff --git a/spec/lib/compliance_control_set_cloner_spec.rb b/spec/lib/compliance_control_set_cloner_spec.rb index 7efe27659..0d3561e0e 100644 --- a/spec/lib/compliance_control_set_cloner_spec.rb +++ b/spec/lib/compliance_control_set_cloner_spec.rb @@ -49,7 +49,7 @@ RSpec.describe ComplianceControlSetCloner do context 'Directed Acyclic Graph is copied correctly' do let(:source_blox){ - 3.times.map{ |_| create :compliance_control_block, compliance_control_set: source_set } + 3.times.map{ |n| create :compliance_control_block, compliance_control_set: source_set, transport_mode: StifTransportModeEnumerations.transport_modes[n], transport_submode: StifTransportSubmodeEnumerations.transport_submodes[n] } } let(:direct_ccs){ 3.times.map{ |n| create :generic_attribute_control_min_max, compliance_control_set: source_set, name: "direct #{n.succ}", code: "direct-#{n.succ}" } diff --git a/spec/lib/compliance_control_set_copier_spec.rb b/spec/lib/compliance_control_set_copier_spec.rb index 0f15d86d0..d1a56cd7f 100644 --- a/spec/lib/compliance_control_set_copier_spec.rb +++ b/spec/lib/compliance_control_set_copier_spec.rb @@ -23,7 +23,7 @@ RSpec.describe ComplianceControlSetCopier do context 'Directed Acyclic Graph is copied correctly' do let(:cc_blox){ - 3.times.map{ |_| create :compliance_control_block, compliance_control_set: cc_set } + 3.times.map{ |n| create :compliance_control_block, compliance_control_set: cc_set, transport_mode: StifTransportModeEnumerations.transport_modes[n], transport_submode: StifTransportSubmodeEnumerations.transport_submodes[n] } } let!(:direct_ccs){ 3.times.map{ |n| create :compliance_control, compliance_control_set: cc_set, name: "direct #{n.succ}", code: "direct-#{n.succ}" } diff --git a/spec/models/compliance_control_block_spec.rb b/spec/models/compliance_control_block_spec.rb index 4abe0ed9c..089d78434 100644 --- a/spec/models/compliance_control_block_spec.rb +++ b/spec/models/compliance_control_block_spec.rb @@ -17,4 +17,16 @@ RSpec.describe ComplianceControlBlock, type: :model do it { should_not allow_values( *%w{ demandResponseBus nightus irportLinkBus highrequencyBus expressBUs Shuttle suburban regioalRail interregion4lRail }) .for(:transport_submode) } + + context "transport mode & submode uniqueness" do + let(:cc_block) {create :compliance_control_block, transport_mode: 'bus', transport_submode: 'nightBus'} + let(:cc_set1) { cc_block.compliance_control_set } + let(:cc_set2) { create :compliance_control_set } + + it "sould be unique in a compliance control set" do + expect( ComplianceControlBlock.new(transport_mode: 'bus', transport_submode: 'nightBus', compliance_control_set: cc_set1) ).not_to be_valid + expect( ComplianceControlBlock.new(transport_mode: 'bus', transport_submode: 'nightBus', compliance_control_set: cc_set2) ).to be_valid + end + +end end |
