diff options
| author | Xinhui | 2018-01-09 14:46:40 +0100 | 
|---|---|---|
| committer | Xinhui | 2018-01-09 14:46:40 +0100 | 
| commit | b8cbb452bf841837b2aeda6d037f6728ea10db67 (patch) | |
| tree | 9cbf52cbe9fc7d0e5fd639a75875a79565ebe114 | |
| parent | a37e6ff466ea6b37a41e7746a4bb3fa97c36f7c3 (diff) | |
| download | chouette-core-5416_checksum_attribute--original.tar.bz2 | |
Refactoring spec checksum support5416_checksum_attribute--original
Refs #5416
| -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 ea7c2a2e9..67732d1b6 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 677308fc8..948c41717 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -1048,7 +1048,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'    end    describe "#excluded_days" do diff --git a/spec/models/chouette/vehicle_journey_at_stop_spec.rb b/spec/models/chouette/vehicle_journey_at_stop_spec.rb index df8a630fe..f3480a28c 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 eb2a31794..e42dda111 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'    end    describe "vjas_departure_time_must_be_before_next_stop_arrival_time", diff --git a/spec/support/checksum_support.rb b/spec/support/checksum_support.rb index 3caf1da16..cd59be03a 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 | 
