iachat/spec/factories
Tanmay Deep Sharma 341487b93e
feat: Add assignment policies controllers with jbuilder views (#12199)
## Linear reference:
https://linear.app/chatwoot/issue/CW-4649/re-imagine-assignments

## Description
This PR introduces the foundation for Assignment V2 system by
implementing assignment policies and their association with inboxes.
Assignment policies allow configuring how conversations are distributed
among agents, with support for different assignment orders (round_robin
in community, balanced in enterprise) and conversation prioritization
strategies

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Test Coverage:
-  Controller specs for assignment policies CRUD operations
-  Enterprise-specific specs for balanced assignment order
-  Model specs for community/enterprise separation

Manual Testing:
1. Create assignment policy: POST
/api/v1/accounts/{id}/assignment_policies
2. List policies: GET /api/v1/accounts/{id}/assignment_policies
3. Assign policy to inbox: POST
/api/v1/accounts/{id}/assignment_policies/{id}/inboxes
4. View inbox policy: GET
/api/v1/accounts/{id}/inboxes/{id}/assignment_policy
5. Verify community edition ignores "balanced" assignment order
6. Verify enterprise edition supports both "round_robin" and "balanced"

- testing the flows after enterprise folder deletion

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Pranav <pranavrajs@gmail.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
2025-08-18 19:15:21 -07:00
..
bot_message chore: Handle attachments in Whatsapp Channel (#3299) 2021-11-11 13:03:48 +05:30
captain feat: add Captain::Scenario Model and API [CW-4597] (#11907) 2025-07-14 16:12:38 +05:30
channel fix: Handle nil processed_params for WhatsApp templates without params (#12177) 2025-08-12 22:56:53 +05:30
facebook_message feat: extending lock to single conversation to meta inbox (#9104) 2024-04-03 21:33:23 +05:30
instagram fix: resolve mutex conflicts in Instagram webhook specs (#12154) 2025-08-11 23:31:25 +05:30
instagram_message feat: Add Instagram Channel (#2955) 2021-10-05 14:35:32 +05:30
integrations chore: Add region option to Dialogflow integration (#11510) 2025-06-05 20:01:17 -05:00
twitter chore: upgrade ruby to 3.1.3 (#5555) 2023-01-24 23:55:07 +05:30
account_users.rb Chore: Enable Users to create multiple accounts (#440) 2020-03-07 12:18:16 +05:30
accounts.rb chore: Use feature_flags attribute instead of settings_flags (#6820) 2023-04-04 09:56:58 -07:00
agent_bot_inboxes.rb Feature: Introduce bots (#545) 2020-03-06 01:43:12 +05:30
agent_bots.rb feat: Add backend APIs for the bot metrics (#9031) 2024-03-01 08:20:20 -08:00
applied_slas.rb feat: Add sidekiq jobs to monitor applied SLAs (#8828) 2024-02-07 21:44:56 +04:00
articles.rb fix: Update specs, add background response job implementation for copilot threads (#11600) 2025-05-27 14:10:27 -06:00
assignment_policies.rb feat: Add assignment policies controllers with jbuilder views (#12199) 2025-08-18 19:15:21 -07:00
automation_rules.rb chore: Refactor Automation Specs (#6796) 2023-03-30 21:02:52 +05:30
campaigns.rb feat: WhatsApp campaigns (#11910) 2025-07-16 09:04:02 +05:30
canned_responses.rb Chore: Added tests for canned_responses (#477) 2020-02-08 11:58:40 +05:30
categories.rb fix: Update specs, add background response job implementation for copilot threads (#11600) 2025-05-27 14:10:27 -06:00
clearbit_response.rb feat: account onboarding with clearbit (#8857) 2024-02-12 23:21:42 +05:30
contact_inbox.rb fix: "wa_source_id" function return value (#5451) 2022-09-29 10:34:55 -07:00
contacts.rb feat: Update API for contact avatar (#4719) 2022-07-12 10:03:16 +02:00
conversation_participants.rb chore: Add controllers for conversation participants (#6462) 2023-02-15 16:33:31 -08:00
conversations.rb feat: Add the ability to un-assign teams using automation (#9668) 2024-06-26 12:40:36 -07:00
csat_survey_responses.rb feat: Add CSAT response APIs (#2503) 2021-06-29 20:59:41 +05:30
custom_attribute_definitions.rb feat: Add APIs for custom attribute definitions (#2689) 2021-07-23 17:04:33 +05:30
custom_filters.rb feat: Add APIs to create custom views on the dashboard (#2498) 2021-06-29 19:29:57 +05:30
custom_roles.rb chore: Fix flaky permissions test (#10074) 2024-09-04 16:13:29 -07:00
dashboard_app.rb feat: Allow users to create dashboard apps to give agents more context (#4761) 2022-06-01 11:13:10 +05:30
data_import.rb feat: Add bulk imports API for contacts (#1724) 2021-02-03 19:24:51 +05:30
email_template.rb feat: Customisable Email Templates (#1095) 2020-08-06 15:21:06 +05:30
folders.rb feat: Portal endpoint (#4633) 2022-05-16 13:59:59 +05:30
inbox_assignment_policies.rb feat: Add assignment policies controllers with jbuilder views (#12199) 2025-08-18 19:15:21 -07:00
inbox_members.rb chore: Ability to Disable Gravatars (#5027) 2022-07-21 19:27:12 +02:00
inboxes.rb chore: Update the behavior of Captain resolutions (#10794) 2025-02-03 16:25:08 +05:30
installation_config.rb feat: installation config in super admin console (#1641) 2021-01-15 13:21:53 +05:30
labels.rb Feature: Improve label experience (#975) 2020-06-25 21:04:03 +05:30
macros.rb feat: Macros CRUD api (#5047) 2022-07-19 17:37:00 +05:30
mentions.rb Feat: custom sort (#4864) 2022-06-22 11:04:42 +05:30
messages.rb chore: Enable the new Rubocop rules (#7122) 2023-05-19 14:37:10 +05:30
notes.rb chore: Add contact note model (#2462) 2021-06-21 15:16:26 +05:30
notification_subscriptions.rb fix: Add catch for additional webpush errors (#9662) 2024-06-21 14:58:36 -07:00
notifications.rb fix: Inbox view Read/Snoozed display filters (#8907) 2024-02-17 13:59:25 +05:30
platform_apps_permissibles.rb feat: Add Platform APIs (#1456) 2021-01-14 20:35:22 +05:30
platform_apps.rb feat: Add Platform APIs (#1456) 2021-01-14 20:35:22 +05:30
portals.rb feat: Portal endpoint (#4633) 2022-05-16 13:59:59 +05:30
related_categories.rb feat: Category API to handle linked categories and parent-sub categories (#4879) 2022-06-28 11:23:20 +05:30
reporting_events.rb feat: Improve Report API performance (#9476) 2024-05-22 17:34:24 -07:00
sla_events.rb feat: add sla events table (#9126) 2024-03-20 11:59:37 +05:30
sla_policies.rb feat: sla 1 - refactor sla_policies model and add applied_sla model (#8602) 2024-01-23 23:48:02 +05:30
super_admins.rb feat: Unify user and super admin credentials (#3830) 2022-01-25 16:58:49 -08:00
team_members.rb feat: Team APIs (#1654) 2021-01-17 23:56:56 +05:30
teams.rb feat: Add new APIs for live reports with team filter (#10994) 2025-02-27 16:11:04 -08:00
users.rb feat: Ability to update avatars from super admin (#7264) 2023-06-09 15:32:24 +05:30
webhooks.rb feat: Add webhook events for contact created, updated (#6415) 2023-02-13 13:28:27 -08:00
working_hours.rb feat: Business hours 2020-11-01 00:14:33 +05:30