trabajo-afectivo/spec/db/migrate/rename_locale_on_users_spec.rb

46 lines
1.3 KiB
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
require 'rails_helper'
RSpec.describe RenameLocaleOnUsers, type: :db_migration do
context 'when custom OMA attribute #locale exists', db_strategy: :reset do
before do
ObjectManager::Attribute.add(
force: true,
object: 'User',
name: 'locale',
display: 'Locale',
data_type: 'select',
data_option: {
'default' => '',
'options' => {},
},
active: true,
position: 20,
to_migrate: true,
created_by_id: 1,
updated_by_id: 1,
)
ObjectManager::Attribute.migration_execute
end
it 'renames #locale' do
expect { migrate }
.to change { ActiveRecord::Base.connection.columns('users').map(&:name) }
.to not_include('locale')
.and include('_locale')
expect(ObjectManager::Attribute.exists?(name: 'locale')).to be(false)
expect(ObjectManager::Attribute.exists?(name: '_locale')).to be(true)
end
end
context 'when no #locale attribute exists' do
it 'makes no changes to the "users" table' do
expect { migrate }
.not_to change { ActiveRecord::Base.connection.columns('users') }
end
end
end