aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-07-13 15:08:11 +0200
committerXinhui2017-07-13 17:33:22 +0200
commitdbf417d74763a7ef9f993c37ae09824699ece4a2 (patch)
treed9916a056c84c181494966faf282a2446846fdb7
parent2afc979940479907c92d1749f2eee409fe0f9184 (diff)
downloadchouette-core-dbf417d74763a7ef9f993c37ae09824699ece4a2.tar.bz2
VehicleJourney implementation of checksum concerns
-rw-r--r--app/models/chouette/vehicle_journey.rb11
-rw-r--r--spec/factories/chouette_vehicle_journey.rb1
-rw-r--r--spec/models/chouette/vehicle_journey_spec.rb5
3 files changed, 17 insertions, 0 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 71c339780..3ddd8b4ad 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -1,5 +1,6 @@
module Chouette
class VehicleJourney < TridentActiveRecord
+ include ChecksumSupport
include VehicleJourneyRestrictions
include StifTransportModeEnumerations
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
@@ -46,6 +47,16 @@ module Chouette
end
end
+ def checksum_attributes
+ [].tap do |attrs|
+ attrs << self.published_journey_name
+ attrs << self.published_journey_identifier
+ attrs << self.try(:company).try(:objectid).try(:local_id)
+ attrs << self.footnotes.map(&:checksum).sort
+ attrs << self.vehicle_journey_at_stops.map(&:checksum).sort
+ end
+ end
+
def set_default_values
if number.nil?
self.number = 0
diff --git a/spec/factories/chouette_vehicle_journey.rb b/spec/factories/chouette_vehicle_journey.rb
index e7ecb79ac..d1e00cd1d 100644
--- a/spec/factories/chouette_vehicle_journey.rb
+++ b/spec/factories/chouette_vehicle_journey.rb
@@ -11,6 +11,7 @@ FactoryGirl.define do
end
factory :vehicle_journey do
+ association :company, factory: :company
transient do
stop_arrival_time '01:00:00'
stop_departure_time '03:00:00'
diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb
index c78ef5b33..148291db6 100644
--- a/spec/models/chouette/vehicle_journey_spec.rb
+++ b/spec/models/chouette/vehicle_journey_spec.rb
@@ -1,6 +1,11 @@
require 'spec_helper'
describe Chouette::VehicleJourney, :type => :model do
+
+ describe 'checksum' do
+ it_behaves_like 'checksum support', :vehicle_journey
+ end
+
describe "vjas_departure_time_must_be_before_next_stop_arrival_time" do
let(:vehicle_journey) { create :vehicle_journey }
let(:vjas) { vehicle_journey.vehicle_journey_at_stops }