12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe UpdateUserAttributes, type: :db_migration do
- context 'with email attribute' do
- let(:object_manager_attribute) do
- ObjectManager::Attribute
- .find_by(name: 'email', object_lookup_id: ObjectLookup.by_name('User'))
- end
- before do
- object_manager_attribute.screens = {
- signup: { '-all-' => { 'null' => true } },
- invite_agent: { '-all-' => { 'null' => true } },
- invite_customer: { '-all-' => { 'null' => true } },
- }
- object_manager_attribute.save!
- end
- it 'makes field required', system_init_done: true do
- expect { migrate }
- .to change { object_manager_attribute.reload.screens }
- .to(
- include(
- signup: { '-all-' => { 'null' => false } },
- invite_agent: { '-all-' => { 'null' => false } },
- invite_customer: { '-all-' => { 'null' => false } },
- )
- )
- end
- end
- context 'with role_ids attribute' do
- let(:object_manager_attribute) do
- ObjectManager::Attribute
- .find_by(name: 'role_ids', object_lookup_id: ObjectLookup.by_name('User'))
- end
- before do
- object_manager_attribute.data_option = { other: 'attr' }
- object_manager_attribute.save!
- end
- it 'adds relation data option', system_init_done: true do
- expect { migrate }
- .to change { object_manager_attribute.reload.data_option }
- .to(include(relation: 'Role', other: 'attr'))
- end
- end
- context 'with group_ids attribute' do
- let(:object_manager_attribute) do
- ObjectManager::Attribute
- .find_by(name: 'group_ids', object_lookup_id: ObjectLookup.by_name('User'))
- end
- before do
- object_manager_attribute.screens = { invite_agent: { '-all-' => { 'null' => false } } }
- object_manager_attribute.save!
- end
- it 'makes field required', system_init_done: true do
- expect { migrate }
- .to change { object_manager_attribute.reload.screens }
- .to(
- include(
- invite_agent: { '-all-' => { 'null' => true } },
- )
- )
- end
- end
- end
|