12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe AddHistorySource, db_strategy: :reset, type: :db_migration do
- before do
- ActiveRecord::Migration.remove_column :histories, :sourceable_id
- ActiveRecord::Migration.remove_column :histories, :sourceable_type
- ActiveRecord::Migration.remove_column :histories, :sourceable_name
- History.reset_column_information
- end
- describe 'migrate SQL table' do
- it 'does add the column' do
- migrate
- expect(History.column_names).to include('sourceable_id', 'sourceable_type', 'sourceable_name')
- end
- end
- describe 'migrate time_trigger_performed history entries' do
- let(:trigger) { create(:trigger) }
- let(:history_entry) do
- create(:history,
- history_type: 'time_trigger_performed',
- value_from: 'reminder_reached',
- value_to: trigger.name,
- related_history_object: trigger)
- end
- let(:initial_attributes) { history_entry.attributes }
- let(:converted_old_attributes) do
- history_entry.attributes.merge(
- 'sourceable_type' => 'Trigger',
- 'sourceable_id' => trigger.id,
- 'sourceable_name' => trigger.name,
- 'related_history_object_id' => nil,
- 'related_o_id' => nil,
- 'value_to' => nil
- )
- end
- it 'migrates the entry' do
- expect { migrate }
- .to change { history_entry.reload.attributes }
- .from(initial_attributes)
- .to(converted_old_attributes)
- end
- end
- end
|