diff options
| author | Luc Donnet | 2018-02-06 11:56:29 +0100 | 
|---|---|---|
| committer | GitHub | 2018-02-06 11:56:29 +0100 | 
| commit | dd7b62adcaa765b9dd5bcd3f3c156d6da2a9682c (patch) | |
| tree | a91a5c0a19decf62b1a04c6bec4fdf83111b63e8 /spec | |
| parent | 5bc9ba8dcb198029a43adbb1d79b8a496a5c1c69 (diff) | |
| parent | 126879438a1109623a8445754e864c7082ba1649 (diff) | |
| download | chouette-core-dd7b62adcaa765b9dd5bcd3f3c156d6da2a9682c.tar.bz2 | |
Merge pull request #280 from af83/5417-checksum-relationships
5417 Update parents checksum when children are created or updated
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/models/chouette/time_table_spec.rb | 34 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 10 | 
2 files changed, 43 insertions, 1 deletions
| diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb index 28197984e..a501f234a 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -926,7 +926,7 @@ end        end      end    end -   +    describe "#validity_out_between?" do      let(:empty_tm) {build(:time_table)}      it "should be false if empty calendar" do @@ -1050,6 +1050,38 @@ end    describe 'checksum' do      it_behaves_like 'checksum support', :time_table + +    it "handles newly built dates and periods" do +      time_table = build(:time_table) +      time_table.periods.build period_start: Time.now, period_end: 1.month.from_now +      time_table.dates.build date: Time.now +      time_table.save! +      expect{time_table.update_checksum!}.to_not change{time_table.checksum} +      expect(time_table.dates.count).to eq 1 +      expect(time_table.periods.count).to eq 1 +    end + +    it "changes when a date is updated" do +      time_table = create(:time_table) +      expect{time_table.dates.last.update_attribute(:date, Time.now)}.to change{time_table.reload.checksum} +    end + +    it "changes when a date is added" do +      time_table = create(:time_table) +      expect(time_table).to receive(:update_checksum_without_callbacks!).at_least(:once).and_call_original +      expect{create(:time_table_date, time_table: time_table, date: 1.year.ago)}.to change{time_table.checksum} +    end + +    it "changes when a period is updated" do +      time_table = create(:time_table) +      expect{time_table.periods.last.update_attribute(:period_start, Time.now)}.to change{time_table.reload.checksum} +    end + +    it "changes when a period is added" do +      time_table = create(:time_table) +      expect(time_table).to receive(:update_checksum_without_callbacks!).at_least(:once).and_call_original +      expect{create(:time_table_period, time_table: time_table)}.to change{time_table.checksum} +    end    end    describe "#excluded_days" do diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 909d6582d..76ee1e74d 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -22,6 +22,16 @@ describe Chouette::VehicleJourney, :type => :model do    describe 'checksum' do      it_behaves_like 'checksum support', :vehicle_journey +    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} +    end + +    it "changes when a vjas is added" do +      vehicle_journey = create(:vehicle_journey) +      expect(vehicle_journey).to receive(:update_checksum_without_callbacks!).at_least(:once).and_call_original +      expect{create(:vehicle_journey_at_stop, vehicle_journey: vehicle_journey)}.to change{vehicle_journey.checksum} +    end    end    describe "#with_stop_area_ids" do | 
