remove capacity status

This commit is contained in:
Tanmay Sharma
2025-08-28 18:26:20 +07:00
parent fc067b7f66
commit 2c0f235d1d
3 changed files with 5 additions and 51 deletions
+4 -4
View File
@@ -191,10 +191,10 @@
display_name: CRM V2
enabled: false
chatwoot_internal: true
- name: assignment_v2
display_name: Assignment V2
enabled: false
chatwoot_internal: true
- name: twilio_content_templates
display_name: Twilio Content Templates
enabled: false
- name: assignment_v2
display_name: Assignment V2
enabled: false
chatwoot_internal: false
@@ -22,23 +22,4 @@ class Enterprise::AutoAssignment::CapacityService
# Agent has capacity if current count is below the limit
current_count < inbox_limit.conversation_limit
end
def agent_capacity_status(user, inbox)
account_user = user.account_users.find_by(account: inbox.account)
return { has_capacity: true, current: 0, limit: nil } unless account_user&.agent_capacity_policy
policy = account_user.agent_capacity_policy
inbox_limit = policy.inbox_capacity_limits.find_by(inbox: inbox)
return { has_capacity: true, current: 0, limit: nil } unless inbox_limit
current_count = user.assigned_conversations
.where(inbox: inbox, status: :open)
.count
{
has_capacity: current_count < inbox_limit.conversation_limit,
current: current_count,
limit: inbox_limit.conversation_limit
}
end
end
@@ -64,6 +64,7 @@ RSpec.describe Enterprise::AutoAssignment::CapacityService, type: :service do
describe 'capacity filtering' do
it 'excludes agents at capacity' do
# Get available agents respecting capacity
capacity_service = described_class.new
online_agents = inbox.available_agents
filtered_agents = online_agents.select do |inbox_member|
capacity_service.agent_has_capacity?(inbox_member.user, inbox)
@@ -111,32 +112,4 @@ RSpec.describe Enterprise::AutoAssignment::CapacityService, type: :service do
expect(conversation2.reload.assignee).to eq(agent_without_capacity)
end
end
describe 'capacity status' do
it 'provides accurate capacity status for agent at capacity' do
capacity_service = described_class.new
status = capacity_service.agent_capacity_status(agent_at_capacity, inbox)
expect(status[:has_capacity]).to be false
expect(status[:current]).to eq(3)
expect(status[:limit]).to eq(3)
end
it 'provides accurate capacity status for agent with capacity' do
capacity_service = described_class.new
status = capacity_service.agent_capacity_status(agent_with_capacity, inbox)
expect(status[:has_capacity]).to be true
expect(status[:current]).to eq(0)
expect(status[:limit]).to eq(3)
end
it 'provides accurate capacity status for agent without limit' do
capacity_service = described_class.new
status = capacity_service.agent_capacity_status(agent_without_capacity, inbox)
expect(status[:has_capacity]).to be true
expect(status[:limit]).to be_nil
end
end
end