71 lines
2.3 KiB
Ruby
Executable File
71 lines
2.3 KiB
Ruby
Executable File
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: account_users
|
|
#
|
|
# id :bigint not null, primary key
|
|
# active_at :datetime
|
|
# auto_offline :boolean default(TRUE), not null
|
|
# availability :integer default("online"), not null
|
|
# role :integer default("agent")
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# account_id :bigint
|
|
# agent_capacity_policy_id :bigint
|
|
# custom_role_id :bigint
|
|
# inviter_id :bigint
|
|
# user_id :bigint
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_account_users_on_account_id (account_id)
|
|
# index_account_users_on_agent_capacity_policy_id (agent_capacity_policy_id)
|
|
# index_account_users_on_custom_role_id (custom_role_id)
|
|
# index_account_users_on_user_id (user_id)
|
|
# uniq_user_id_per_account_id (account_id,user_id) UNIQUE
|
|
#
|
|
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
|