aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorZog2018-02-02 14:58:50 +0100
committercedricnjanga2018-02-06 11:11:33 -0800
commit40960d78ad2e5a85b4acec5d7588beb69538b61a (patch)
tree8e2379663fe1053e8b61614d5471feb0e5937e4c /spec
parent123da9addd584e4fb86520cb54d8266a9869b8cf (diff)
downloadchouette-core-40960d78ad2e5a85b4acec5d7588beb69538b61a.tar.bz2
Refs #5417; Update parents checksum when children are created or updated
Diffstat (limited to 'spec')
-rw-r--r--spec/models/chouette/time_table_spec.rb23
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb10
2 files changed, 32 insertions, 1 deletions
diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb
index 28197984e..30e201c4d 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,27 @@ end
describe 'checksum' do
it_behaves_like 'checksum support', :time_table
+ 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)}.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