diff options
| author | cedricnjanga | 2018-05-28 05:19:01 -0700 |
|---|---|---|
| committer | cedricnjanga | 2018-05-28 05:19:01 -0700 |
| commit | 4e77d7ba72f7fa8d0f697f2f8c031b1a1e0b858d (patch) | |
| tree | 519a8376c28f4757bafb09c91cc369f2cdbac1a6 | |
| parent | c1ebc713fd0eb4692d679fc80e184cb802c98602 (diff) | |
| download | chouette-core-6844-merge-new-id.tar.bz2 | |
Refs #6844 Add #new_id attribute to Merge model6844-merge-new-id
| -rw-r--r-- | app/models/merge.rb | 6 | ||||
| -rw-r--r-- | db/migrate/20180525134233_add_new_id_to_merges.rb | 6 | ||||
| -rw-r--r-- | spec/models/merge_spec.rb | 5 |
3 files changed, 16 insertions, 1 deletions
diff --git a/app/models/merge.rb b/app/models/merge.rb index aca2f4d4d..bcaaf3096 100644 --- a/app/models/merge.rb +++ b/app/models/merge.rb @@ -42,7 +42,11 @@ class Merge < ApplicationModel new&.failed! raise e if Rails.env.test? ensure - attributes = { ended_at: Time.now } + attributes = { + ended_at: Time.now, + new_id: new.try(:id) + } + if status == :running attributes[:status] = :successful referentials.each &:archived! diff --git a/db/migrate/20180525134233_add_new_id_to_merges.rb b/db/migrate/20180525134233_add_new_id_to_merges.rb new file mode 100644 index 000000000..ad112856b --- /dev/null +++ b/db/migrate/20180525134233_add_new_id_to_merges.rb @@ -0,0 +1,6 @@ +class AddNewIdToMerges < ActiveRecord::Migration + def change + add_column :merges, :new_id, :integer, limit: 8 + add_index :merges, :new_id + end +end diff --git a/spec/models/merge_spec.rb b/spec/models/merge_spec.rb index 8c3f48272..59891ea05 100644 --- a/spec/models/merge_spec.rb +++ b/spec/models/merge_spec.rb @@ -86,7 +86,12 @@ RSpec.describe Merge do merge = Merge.create!(workbench: referential.workbench, referentials: [referential, referential]) merge.merge! + expect(merge.status). to eq :successful + output = merge.output.current + + expect(merge.new_id). to eq output.id + output.switch output.routes.each do |route| |
