Skip to content

ATS-CRM-ACT-015Route overdue work to the people responsible for it: Capability Test Specification

Markdown

ATS-CRM-ACT-015

Route overdue work to the people responsible for it: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-ACT-015

Design

Executed by
TST-CRM-ACT-018, TST-CRM-ACT-019

KindAcceptance test setProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision3

Read atservices-crm a8d1364freact-console baf6dae3rhythm-v2-docs 18a49edf

Coverage

  • Rule covered
  • Transition covered
  • Validation gap: FND-CRM-ACT-061
  • Permission gap: FND-CRM-ACT-061
  • Edge gap: FND-CRM-ACT-061
  • Failure gap: FND-CRM-ACT-061
  • Boundary covered
  • Concurrency gap: FND-CRM-ACT-061
  • Invariant covered
  • Interaction covered

Test Scenarios

14 scenarios proving CAP-CRM-ACT-015; 7 bound to an existing test.

01 Begin overdue attention after the due dayboundaryapinegativetest
Proves
BR-CAP-CRM-ACT-015-01
Preconditions
Tasks are due yesterday and today with publishing enabled.
Steps
Create both and inspect their emitted items.
Expected
Only yesterday’s work qualifies and its attention due instant is the end of that day.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes nothing for a task due today, which is not overdue until the day ends
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes the overdue task as it is created, addressed to its assignee, due at the end of its day in the tenant’s zone
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes nothing for a task due today, which is not overdue until the day ends
02 Select the holder or shared audienceruleapinegativetest
Proves
BR-CAP-CRM-ACT-015-02
Preconditions
Overdue fixtures are held, unassigned in a queue and unassigned outside queues.
Steps
Publish each item.
Expected
Audience selection matches holder, queue responsibility or administrators.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes the overdue task as it is created, addressed to its assignee, due at the end of its day in the tenant’s zone
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#addresses a queued task nobody holds to the task queue responsibility at its queue
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#addresses a task nobody holds, in no queue, to the tenant administrators
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes the overdue task as it is created, addressed to its assignee, due at the end of its day in the tenant’s zone
03 Update attention when assignment changestransitionapitest
Proves
BR-CAP-CRM-ACT-015-03
Preconditions
An overdue task belongs to a user.
Steps
Reassign it to another user.
Expected
Its attention audience changes with the task write.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves the item to the new holder when an overdue task is assigned, in the same generation
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves the item to the new holder when an overdue task is assigned, in the same generation
04 Resolve attention with the task’s outcometransitionapitest
Proves
BR-CAP-CRM-ACT-015-04
Preconditions
Separate overdue tasks can close, move their date or be deleted.
Steps
Complete, cancel, reschedule and delete them.
Expected
Resolution records the corresponding outcome for each item.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#resolves the item rescheduled when the overdue task is given a later due date
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#resolves the item completed when the overdue task is completed
05 Catch overdue work through the daily passtransitionapitest
Proves
BR-CAP-CRM-ACT-015-05
Preconditions
An overdue task lacks an item and another item is stale.
Steps
Execute the sweep.
Expected
The overdue task is published and the stale item is resolved.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#resolves the item of the task that is no longer overdue, which the pass did not republish
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes the overdue task no write had published, with no contact
06 Keep publishing and sweeping silent when disabledruleunittest
Proves
BR-CAP-CRM-ACT-015-08
Preconditions
Attention execution uses the disabled switch.
Steps
Write overdue work and invoke its sweep.
Expected
The integration performs no attention reads or sends.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:tests/unit/attention-switch.spec.ts#publishes and resolves without one statement
services-crm:tests/unit/attention-switch.spec.ts#answers a sweep skipped, reading nothing
Source
services-crm:docs/attention.md#3. The switch
07 Task changes update attention without granting list accessinteractionapiproposed
Proves
BR-CAP-CRM-ACT-015-03 BR-CAP-CRM-ACT-015-04 BR-CAP-CRM-ACT-014-01
Preconditions
Publishing is enabled and a holder has overdue work.
Steps
Reassign, inspect the audience, complete the task, then try a general task query without query authority.
Expected
The item follows the holder and then resolves; item addressing alone does not authorize a task query.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves the item to the new holder when an overdue task is assigned, in the same generation; services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#resolves the item completed when the overdue task is completed; services-crm:modules/tasks/aws/api/tasks.routes.ts:tasksRoutes
08 Persist overdue standing from Not overdue to Overdue publishedtransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Not overdue standing. The function has attention publishing enabled.
Steps
A persistence write leaves unfinished work past its due day. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Overdue published standing. Publish title, due day, priority and available contact context inside the task transaction.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves the item to the new holder when an overdue task is assigned, in the same generation
09 Persist overdue standing from Not overdue to Overdue unpublishedtransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Not overdue standing. Elapsed calendar time requires no write guard.
Steps
The due day ends without a task write. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Overdue unpublished standing.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:docs/attention.md#5. The sweeps
10 Persist overdue standing from Overdue unpublished to Overdue publishedtransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Overdue unpublished standing. Publishing is enabled; reconciliation must reach the workspace before stopping between workspaces.
Steps
A reconciliation pass or later persistence write reaches overdue work. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Overdue published standing. Publish qualifying work; reconciliation processes pages from separately read task data.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#publishes the overdue task no write had published, with no contact
11 Persist overdue standing from Overdue published to Overdue publishedtransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Overdue published standing. Publishing is enabled.
Steps
A persistence write changes the routing or details of overdue work. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Overdue published standing. Refresh audience and item details within the task transaction.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#moves the item to the new holder when an overdue task is assigned, in the same generation
12 Persist overdue standing from Overdue published to Not overduetransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Overdue published standing. Publishing is enabled.
Steps
A task is closed, deleted or changed so it no longer qualifies as overdue. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Not overdue standing. Resolve the item within the task transaction with the corresponding closure, deletion or date-change reason.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#resolves the item completed when the overdue task is completed
13 Persist overdue standing from Overdue published to Not overduetransitionapiproposed
Proves
INV-DOM-CRM-ACT-003-10
Preconditions
Run-owned overdue standing has Overdue published standing. Publishing is enabled and that workspace pass reaches its resolving step.
Steps
Reconciliation ends with an older open item outside its current generation. Read the resulting record and affected projections after commit.
Expected
The resulting overdue standing has Not overdue standing. Resolve unseen items as no longer overdue; concurrent changes can still defeat the apparent repair.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/tasks/services/persistence/task-attention-items.ts:sweepOverdueTasks
14 Roll back task and attention togetherinvariantapinegativetest
Proves
BR-CAP-CRM-ACT-015-06 INV-DOM-CRM-ACT-003-10
Preconditions
Attention publishing is enabled in the isolated local fixture.
Steps
Write an overdue task inside a transaction that deliberately throws; inspect task and stand-in item storage.
Expected
Neither task nor attention item remains.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Bound to
Source
services-crm:modules/tasks/tests/integration/services/persistence/task-attention-items.integration.spec.js#leaves no item behind a task write that rolled back

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.