diff options
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 2 | ||||
| -rw-r--r-- | spec/models/chouette/time_table_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/referential_cloning_spec.rb | 30 | ||||
| -rw-r--r-- | spec/workers/referential_cloning_worker_spec.rb | 2 |
4 files changed, 23 insertions, 13 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 0b15576a8..332ddb7b8 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -70,7 +70,7 @@ module Chouette attrs << self.published_journey_identifier attrs << self.try(:company).try(:get_objectid).try(:local_id) attrs << self.footnotes.map(&:checksum).sort - attrs << self.vehicle_journey_at_stops.sort_by { |s| s.stop_point.position }.map(&:checksum).sort + attrs << self.vehicle_journey_at_stops.sort_by { |s| s.stop_point&.position }.map(&:checksum).sort end end diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb index 23f26395e..d4a726740 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -1275,7 +1275,7 @@ end expected_ranges = [ Date.new(2017,12,1)..Date.new(2017,12,31), - Date.new(2018,2,2)..Date.new(2017,3,1) + Date.new(2018,2,2)..Date.new(2018,3,1) ] expect(time_table.periods.map(&:range)).to eq(expected_ranges) end diff --git a/spec/models/referential_cloning_spec.rb b/spec/models/referential_cloning_spec.rb index 4327c98aa..815e05a67 100644 --- a/spec/models/referential_cloning_spec.rb +++ b/spec/models/referential_cloning_spec.rb @@ -36,40 +36,50 @@ RSpec.describe ReferentialCloning, :type => :model do let(:cloner) { double } - before do - allow(AF83::SchemaCloner).to receive(:new).and_return cloner - allow(cloner).to receive(:clone_schema) - end - it 'creates a schema cloner with source and target schemas and clone schema' do expect(AF83::SchemaCloner).to receive(:new).with(source_referential.slug, target_referential.slug).and_return(cloner) expect(cloner).to receive(:clone_schema) referential_cloning.clone! end + end + + describe '#clone_with_status!' do + let(:referential_cloning) do + ReferentialCloning.new(target_referential: Referential.new(slug: "target")) + end + + before do + allow(referential_cloning).to receive(:clone!) + end + + it 'invokes clone! method' do + expect(referential_cloning).to receive(:clone!) + referential_cloning.clone_with_status! + end context 'when clone_schema is performed without error' do it "should have successful status" do - referential_cloning.clone! + referential_cloning.clone_with_status! expect(referential_cloning.status).to eq("successful") end end context 'when clone_schema raises an error' do it "should have failed status" do - expect(cloner).to receive(:clone_schema).and_raise("#fail") - referential_cloning.clone! + expect(referential_cloning).to receive(:clone!).and_raise("#fail") + referential_cloning.clone_with_status! expect(referential_cloning.status).to eq("failed") end end it "defines started_at" do - referential_cloning.clone! + referential_cloning.clone_with_status! expect(referential_cloning.started_at).not_to be_nil end it "defines ended_at" do - referential_cloning.clone! + referential_cloning.clone_with_status! expect(referential_cloning.ended_at).not_to be_nil end diff --git a/spec/workers/referential_cloning_worker_spec.rb b/spec/workers/referential_cloning_worker_spec.rb index 2b9a54805..74e83c3b2 100644 --- a/spec/workers/referential_cloning_worker_spec.rb +++ b/spec/workers/referential_cloning_worker_spec.rb @@ -10,7 +10,7 @@ RSpec.describe ReferentialCloningWorker do it "invokes the clone! method of the associated ReferentialCloning" do expect(ReferentialCloning).to receive(:find).with(id).and_return(referential_cloning) - expect(referential_cloning).to receive(:clone!) + expect(referential_cloning).to receive(:clone_with_status!) worker.perform(id) end |
