Skip to content

ATS-PFM-ELG-019Escalate overdue attention and plan reminders: Capability Test Specification

Markdown

ATS-PFM-ELG-019

Escalate overdue attention and plan reminders: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-ELG-019

Design

Executed by
TST-PFM-ELG-401, TST-PFM-ELG-402, TST-PFM-ELG-405

KindAcceptance test setProduct areaPlatformModuleEligibility, Responsibilities and AttentionRevision3

Read atservices-platform ad3f6a65react-console baf6dae3

Coverage

  • Rule gap: FND-PFM-ELG-071
  • Transition gap: FND-PFM-ELG-071
  • Validation gap: FND-PFM-ELG-071
  • Permission gap: FND-PFM-ELG-071
  • Edge gap: FND-PFM-ELG-071
  • Failure covered
  • Boundary gap: FND-PFM-ELG-071
  • Concurrency gap: FND-PFM-ELG-071
  • Invariant gap: FND-PFM-ELG-071
  • Interaction covered

Test Scenarios

10 scenarios proving CAP-PFM-ELG-019; 7 bound to an existing test.

01 Add an escalation audiencetransitionapitest
Proves
BR-CAP-PFM-ELG-019-01
Preconditions
An occurrence is overdue beyond its role-target delay.
Steps
Run the sweep.
Expected
Escalation time, target audience and an attributable escalation event are recorded.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates an item overdue past its escalation: stamped, and its role added as an escalation audience
Source
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates an item overdue past its escalation: stamped, and its role added as an escalation audience
02 Keep escalation stableinvariantapitest
Proves
BR-CAP-PFM-ELG-019-02 INV-DOM-PFM-ELG-005-07
Preconditions
One item is escalated and another is not yet eligible.
Steps
Sweep and refresh the escalated provider occurrence.
Expected
No second escalation occurs, the target remains and the earlier item is unchanged.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates an item once: a second sweep stamps, adds and records nothing
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#keeps the escalation audience when the provider publishes the condition again
Source
services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates an item once: a second sweep stamps, adds and records nothing
03 Combine follow-up settingsruleunittest
Proves
BR-CAP-PFM-ELG-019-03
Preconditions
Declarations vary in reminder support and a workspace overrides one.
Steps
Resolve policies.
Expected
Absent support yields none, defaults fill omissions, overrides apply field by field and disabled policy stops reminders.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/attention/tests/unit/reminders.spec.js#is none when neither the definition nor the tenant declares one
services-platform:modules/attention/tests/unit/reminders.spec.js#defaults a declared block to due soon and overdue, daily, three times, and escalated when the definition escalates
services-platform:modules/attention/tests/unit/reminders.spec.js#takes the tenant’s override part by part over the declaration
Source
services-platform:modules/attention/tests/unit/reminders.spec.js#is none when neither the definition nor the tenant declares one
04 Plan each recipient onceinteractionapitest
Proves
BR-CAP-PFM-ELG-019-04
Preconditions
User and holder audiences include snoozed, hidden and distant-due cases.
Steps
Sweep twice.
Expected
Eligible recipients gain one planned reminder each; exclusions and the second pass add none.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#plans one reminder per person an item reaches: a user audience, and a responsibility’s holder
services-platform:modules/attention/tests/unit/reminders.spec.js#never goes past the policy’s max overdue reminders
Source
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#plans one reminder per person an item reaches: a user audience, and a responsibility’s holder
05 Recheck before deliveryfailureapinegativetest
Proves
BR-CAP-PFM-ELG-019-05
Preconditions
A planned occurrence resolves before sending.
Steps
Run the sender.
Expected
The reminder records a skip reason and no message is sent.
Data
No fixtures beyond the described setup.
Bound to
Source
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#skips a due reminder whose item was resolved before it went
06 Collect a recipient’s workruleapitest
Proves
BR-CAP-PFM-ELG-019-06
Preconditions
An administrator has two due occurrences.
Steps
Send twice.
Expected
One addressed communications message includes both links and marks reminders sent; the retry adds nothing.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#sends one message per person, the admin’s listing both of their items
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#asks communications for the caller-rendered reminder purpose, to the user’s address, with console links
Source
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#sends one message per person, the admin’s listing both of their items
07 Keep escalation through provider refreshinteractionapitest
Proves
BR-CAP-PFM-ELG-016-05 BR-CAP-PFM-ELG-019-02
Preconditions
An overdue occurrence has a configured escalation target.
Steps
Sweep to escalate, repeat the sweep, refresh the same provider key, then inspect audiences and audit.
Expected
The target remains present and there is only one escalation change.
Data
Run-owned records and a controlled clock where timing changes the result.
Bound to
Source
services-platform:modules/attention/tests/integration/services/persistence/items.integration.spec.js#opens the next generation, a new item, when a resolved condition recurs; services-platform:modules/attention/tests/integration/services/sweep/sweep-tenant.integration.spec.js#escalates an item once: a second sweep stamps, adds and records nothing
08 Suppress queued reminders after a responseinteractionapinegativeproposed
Proves
BR-CAP-PFM-ELG-018-04 BR-CAP-PFM-ELG-019-05
Preconditions
A reminder is planned for an open occurrence.
Steps
Snooze the occurrence before sending, invoke delivery, then inspect its skip record and outgoing requests.
Expected
The queued reminder records a snoozed skip and creates no message.
Data
Run-owned records and a controlled clock where timing changes the result.
Source
services-platform:modules/attention/services/reminders/send-reminders.ts:sendTenantReminders
09 Recheck settings before reminder deliveryinteractionapiproposed
Proves
BR-CAP-PFM-ELG-019-05 BR-CAP-PFM-ELG-020-05
Preconditions
A reminder is planned under an enabled kind policy.
Steps
Disable its reminder policy at the current settings version and invoke delivery.
Expected
The sender records a disabled-policy skip and sends no message.
Data
Run-owned records and a controlled clock where timing changes the result.
Source
services-platform:modules/attention/tests/integration/services/reminders/reminders.integration.spec.js#skips a due reminder whose item was resolved before it went; services-platform:modules/attention/tests/integration/services/persistence/settings.integration.spec.js#refuses an escalation on a definition that does not let the tenant change it
10 Expose delivery retry with a changed cohortconcurrencyapinegativeproposed
Proves
BR-CAP-PFM-ELG-019-06
Preconditions
A person has two due reminders and communications accepts the first message before sent stamping fails.
Steps
Change the due cohort, retry delivery and compare communications keys and accepted messages.
Expected
A changed cohort can produce a different delivery key and repeat previously accepted content, exposing the unresolved retry boundary.
Data
Run-owned fixtures, separate caller contexts and a controlled clock where required.
Source
services-platform:modules/attention/services/reminders/send-reminders.ts

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.