Files
chatwoot/spec/models/account_user_spec.rb
Sojan Jose 46621b0983 chore: Add permissions to auth data (#9695)
This API change sets the foundation for an upcoming frontend update, transitioning from a role-based model to a permission-based model. This new approach will determine eligibility for various actions and UI elements based on specific permissions rather than roles, enhancing flexibility and security in user access management.
2024-06-28 12:52:48 -07:00

46 lines
1.3 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe AccountUser do
include ActiveJob::TestHelper
let!(:account_user) { create(:account_user) }
let!(:inbox) { create(:inbox, account: account_user.account) }
describe 'notification_settings' do
it 'gets created with the right default settings' do
expect(account_user.user.notification_settings).not_to be_nil
expect(account_user.user.notification_settings.first.email_conversation_creation?).to be(false)
expect(account_user.user.notification_settings.first.email_conversation_assignment?).to be(true)
end
end
describe 'permissions' do
it 'returns the right permissions' do
expect(account_user.permissions).to eq(['agent'])
end
it 'returns the right permissions for administrator' do
account_user.administrator!
expect(account_user.permissions).to eq(['administrator'])
end
end
describe 'destroy call agent::destroy service' do
it 'gets created with the right default settings' do
create(:conversation, account: account_user.account, assignee: account_user.user, inbox: inbox)
user = account_user.user
expect(user.assigned_conversations.count).to eq(1)
perform_enqueued_jobs do
account_user.destroy!
end
expect(user.assigned_conversations.count).to eq(0)
end
end
end