blob: 089d78434592b515d298ca668aaf965c72f49efd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
require 'rails_helper'
RSpec.describe ComplianceControlBlock, type: :model do
it { should belong_to :compliance_control_set }
it { should have_many(:compliance_controls).dependent(:destroy) }
it { should validate_presence_of(:transport_mode) }
it { should allow_values(*%w{bus metro rail tram funicular}).for(:transport_mode) }
it { should_not allow_values(*%w{bs mtro ril tramm Funicular}).for(:transport_mode) }
it { should allow_values( *%w{ demandAndResponseBus nightBus airportLinkBus highFrequencyBus expressBus
railShuttle suburbanRailway regionalRail interregionalRail })
.for(:transport_submode) }
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
|