diff --git a/enterprise/app/models/enterprise/inbox.rb b/enterprise/app/models/enterprise/inbox.rb index 0ae21ce00..2462122f7 100644 --- a/enterprise/app/models/enterprise/inbox.rb +++ b/enterprise/app/models/enterprise/inbox.rb @@ -22,7 +22,13 @@ module Enterprise::Inbox end def get_agent_ids_over_assignment_limit(limit) - conversations.open.select(:assignee_id).group(:assignee_id).having("count(*) >= #{limit.to_i}").filter_map(&:assignee_id) + conversations + .open + .where(account_id: account_id) + .select(:assignee_id) + .group(:assignee_id) + .having("count(*) >= #{limit.to_i}") + .filter_map(&:assignee_id) end def ensure_valid_max_assignment_limit diff --git a/spec/enterprise/models/inbox_spec.rb b/spec/enterprise/models/inbox_spec.rb index 3e3e060d8..b0e063600 100644 --- a/spec/enterprise/models/inbox_spec.rb +++ b/spec/enterprise/models/inbox_spec.rb @@ -15,8 +15,8 @@ RSpec.describe Inbox do create(:conversation, inbox: inbox, assignee: inbox_member_1.user) # to test conversations in other inboxes won't impact create_list(:conversation, 3, assignee: inbox_member_1.user) - create_list(:conversation, 2, inbox: inbox, assignee: inbox_member_2.user) - create_list(:conversation, 3, inbox: inbox, assignee: inbox_member_3.user) + create_list(:conversation, 2, inbox: inbox, account: inbox.account, assignee: inbox_member_2.user) + create_list(:conversation, 3, inbox: inbox, account: inbox.account, assignee: inbox_member_3.user) end it 'validated max_assignment_limit' do @@ -29,7 +29,7 @@ RSpec.describe Inbox do it 'returns member ids with assignment capacity with inbox max_assignment_limit is configured' do # agent 1 has 1 conversations, agent 2 has 2 conversations, agent 3 has 3 conversations and agent 4 with none inbox.update(auto_assignment_config: { max_assignment_limit: 2 }) - expect(inbox.member_ids_with_assignment_capacity).to contain_exactly(inbox_member_1.user_id, inbox_member_4.user_id) + expect(inbox.member_ids_with_assignment_capacity).to eq([inbox_member_1.user_id, inbox_member_4.user_id]) end it 'returns all member ids when inbox max_assignment_limit is not configured' do