Skip to content

ATS-CRM-ACT-012Assign shared work and claim it from a queue: Acceptance Test Set

Markdown

ATS-CRM-ACT-012

Assign shared work and claim it from a queue: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-ACT-012

KindAcceptance test setProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision2

Read atservices-crm a8d1364freact-console baf6dae3

Test Scenarios

9 scenarios proving CAP-CRM-ACT-012; 8 bound to an existing test.

01 Attribute assignment once for an unchanged holderapitest
Proves
BR-CAP-CRM-ACT-012-01
Preconditions
An open task can be assigned.
Steps
Assign a colleague, repeat that holder and clear assignment.
Expected
The first assignment stamps persist until clearing removes them.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#stamps who holds the task, who gave it to them and when
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#takes it back when the assignment names nobody, clearing the stamps with it
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#keeps the first stamp when the task is handed to the person who already holds it
services-crm:modules/tasks/tests/integration/db/tasks.table.integration.spec.js#refuses an assignee with no stamp, so “who gave me this?” always has an answer
Source
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#stamps who holds the task, who gave it to them and when
02 Preserve and reset queue arrival at the appropriate timesapitest
Proves
BR-CAP-CRM-ACT-012-02 BR-CAP-CRM-ACT-012-03
Preconditions
Two queues are available.
Steps
Queue a task, edit it, move queues and remove its queue.
Expected
Edit preserves arrival, movement resets it and removal clears it.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#moves a task to another queue and re-stamps when it entered, so it joins the back of that one
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#clears the queue the replacement did not state, and the moment it entered it with it
services-crm:modules/tasks/tests/integration/db/tasks.table.integration.spec.js#refuses a queue with no moment, so no task sits in a queue in no order
Source
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#moves a task to another queue and re-stamps when it entered, so it joins the back of that one
03 Reject assignment changes on closed workapinegativetest
Proves
BR-CAP-CRM-ACT-012-04
Preconditions
The task is completed.
Steps
Assign it to a different colleague.
Expected
The service requests reopening before reassignment.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses an assignment of a closed task, asking for the reopen first
Source
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses an assignment of a closed task, asking for the reopen first
04 Reject invalid or service holdersapinegativetest
Proves
BR-CAP-CRM-ACT-012-06
Preconditions
An open task accepts user assignment.
Steps
Supply malformed user and service-principal references.
Expected
Both are rejected against the holder field.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#answers 400 for an assignee that is not a Rhythm user id
services-crm:modules/tasks/tests/integration/db/tasks.table.integration.spec.js#refuses a service principal as the assignee: a service never holds a task
Source
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#answers 400 for an assignee that is not a Rhythm user id
05 Require Platform eligibility before assigning workapinegativeproposed
Proves
BR-CAP-CRM-ACT-012-07
Preconditions
A foreign-customer user and removed colleague are available.
Steps
Attempt assignment to each.
Expected
The proposed contract refuses ineligible holders; current code accepts valid-looking references.
Data
Each run creates and isolates the records it needs.
Source
react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0711.spec.ts#CRM-ACC-0711
06 Reserve queued work for one concurrent claimantapinegativetest
Proves
BR-CAP-CRM-ACT-012-08
Preconditions
An open queued task has no holder.
Steps
Race three users and also race duplicate requests by one user.
Expected
One assignment and version increment occur; unsuccessful requests identify the holder.
Data
Each run creates and isolates the records it needs.
Bound to
Source
services-crm:modules/tasks/tests/integration/services/persistence/tasks.concurrency.integration.spec.js#lets exactly one of them have it
07 Reject claims of ineligible task statesapinegativetest
Proves
BR-CAP-CRM-ACT-012-09
Preconditions
Tasks are closed, fully locked or unqueued without a role offer.
Steps
Claim each task.
Expected
Each refusal explains why that work cannot be taken.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses a task that is in no queue, saying it is assigned instead
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#answers 409 on claiming a task that is in no queue, which is assigned rather than claimed
Source
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#refuses a task that is in no queue, saying it is assigned instead
08 Release without changing queue positionapinegativetest
Proves
BR-CAP-CRM-ACT-012-10
Preconditions
A queued task has been claimed.
Steps
Release it, repeat release and let another user claim.
Expected
Its position persists, duplicate release fails and the other user can take it.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#leaves the task in its queue, in the place it had: a release is not a re-queue
services-crm:modules/tasks/tests/e2e/tasks.e2e.spec.js#keeps the task in its queue after the release, at the place it was queued
Source
services-crm:modules/tasks/tests/integration/services/persistence/tasks.integration.spec.js#leaves the task in its queue, in the place it had: a release is not a re-queue
09 Keep inactive queues available to existing claim behaviorbrowsertest
Proves
BR-CAP-CRM-ACT-012-12
Preconditions
A queue has been deactivated.
Steps
Claim its waiting work and create new work naming it.
Expected
Both remain supported by current code; retirement refusal needs a product decision.
Data
Each run creates and isolates the records it needs.
Bound to
Source
react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0710.spec.ts#CRM-ACC-0710

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.