diff options
| -rw-r--r-- | spec/models/chouette/journey_pattern_spec.rb | 3 | ||||
| -rw-r--r-- | spec/models/chouette/time_table_period_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/chouette/time_table_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_at_stop_spec.rb | 4 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 4 | ||||
| -rw-r--r-- | spec/support/checksum_support.rb | 27 | 
6 files changed, 37 insertions, 5 deletions
| diff --git a/spec/models/chouette/journey_pattern_spec.rb b/spec/models/chouette/journey_pattern_spec.rb index b5eb9004c..19a74a0e7 100644 --- a/spec/models/chouette/journey_pattern_spec.rb +++ b/spec/models/chouette/journey_pattern_spec.rb @@ -2,9 +2,10 @@ require 'spec_helper'  describe Chouette::JourneyPattern, :type => :model do    it { is_expected.to be_versioned } +  subject { create(:journey_pattern) }    describe 'checksum' do -    it_behaves_like 'checksum support', :journey_pattern +    it_behaves_like 'checksum support'    end    # context 'validate minimum stop_points size' do diff --git a/spec/models/chouette/time_table_period_spec.rb b/spec/models/chouette/time_table_period_spec.rb index cc1a3ae09..e14d38ade 100644 --- a/spec/models/chouette/time_table_period_spec.rb +++ b/spec/models/chouette/time_table_period_spec.rb @@ -10,7 +10,7 @@ describe Chouette::TimeTablePeriod, :type => :model do    it { is_expected.to validate_presence_of :period_end }    describe 'checksum' do -    it_behaves_like 'checksum support', :time_table_period +    it_behaves_like 'checksum support'    end    describe "#overlap" do diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb index a501f234a..bb88877b9 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -1049,7 +1049,7 @@ end    # it { is_expected.to validate_uniqueness_of :objectid }    describe 'checksum' do -    it_behaves_like 'checksum support', :time_table +    it_behaves_like 'checksum support'      it "handles newly built dates and periods" do        time_table = build(:time_table) diff --git a/spec/models/chouette/vehicle_journey_at_stop_spec.rb b/spec/models/chouette/vehicle_journey_at_stop_spec.rb index 02306883c..a97559a0c 100644 --- a/spec/models/chouette/vehicle_journey_at_stop_spec.rb +++ b/spec/models/chouette/vehicle_journey_at_stop_spec.rb @@ -1,10 +1,12 @@  require 'spec_helper'  RSpec.describe Chouette::VehicleJourneyAtStop, type: :model do +  subject { create(:vehicle_journey_at_stop) } +    describe 'checksum' do      let(:at_stop) { build_stubbed(:vehicle_journey_at_stop) } -    it_behaves_like 'checksum support', :vehicle_journey_at_stop +    it_behaves_like 'checksum support'      context '#checksum_attributes' do        it 'should return attributes' do diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 7279980a3..76e73d9cf 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -1,6 +1,8 @@  require 'spec_helper'  describe Chouette::VehicleJourney, :type => :model do +  subject { create(:vehicle_journey) } +    it { is_expected.to be_versioned }    it { should have_and_belong_to_many(:purchase_windows) } @@ -21,7 +23,7 @@ describe Chouette::VehicleJourney, :type => :model do    end    describe 'checksum' do -    it_behaves_like 'checksum support', :vehicle_journey +    it_behaves_like 'checksum support'      it "changes when a vjas is updated" do        vehicle_journey = create(:vehicle_journey)        expect{vehicle_journey.vehicle_journey_at_stops.last.update_attribute(:departure_time, Time.now)}.to change{vehicle_journey.reload.checksum} diff --git a/spec/support/checksum_support.rb b/spec/support/checksum_support.rb index 9a4475e23..3d88d1d57 100644 --- a/spec/support/checksum_support.rb +++ b/spec/support/checksum_support.rb @@ -29,6 +29,33 @@ shared_examples 'checksum support' do          expect(subject.current_checksum_source).to eq(source)        end      end + +    context 'array value' do +      let(:attributes) { [['v1', 'v2', 'v3'], 'code_value'] } + +      it 'should convert to list' do +        source = "v1,v2,v3#{seperator}code_value" +        expect(subject.current_checksum_source).to eq(source) +      end +    end + +    context 'array of array value' do +      let(:attributes) { [[['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']], 'code_value'] } + +      it 'should convert to list' do +        source = "(a1,a2,a3),(b1,b2,b3)#{seperator}code_value" +        expect(subject.current_checksum_source).to eq(source) +      end +    end + +    context 'array of array value, with empty array' do +      let(:attributes) { [[['a1', 'a2', 'a3'], []], 'code_value'] } + +      it 'should convert to list' do +        source = "(a1,a2,a3),-#{seperator}code_value" +        expect(subject.current_checksum_source).to eq(source) +      end +    end    end    it 'should save checksum on create' do | 
