Skip to content

ATS-PFM-NOT-012Investigate and retry notifications from HQ: Capability Test Specification

Markdown

ATS-PFM-NOT-012

Investigate and retry notifications from HQ: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleStaff Notifications and Association CommunicationsRevision2

Read atservices-platform ad3f6a65react-console baf6dae3

Coverage

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

Test Scenarios

6 scenarios proving CAP-PFM-NOT-012; 4 bound to an existing test.

01 Keep HQ notification keys staff-onlypermissionunittest
Proves
BR-CAP-PFM-NOT-012-01
Preconditions
Prepare the permission catalog and the HQ reader policy.
Steps
Retrieve the keys' flags and the policy.
Expected
Read and operate keys are restricted to staff, operate is sensitive and reader policy grants neither.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/permissions.spec.js#makes both HQ keys staff-only, operate sensitive
services-platform:modules/notifications/tests/unit/permissions.spec.js#leaves both HQ keys out of the HQ reader policy: the Rhythm Administrator holds them through hq.*.*
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#refuses the system door and Rhythm HQ’s routes to a console caller, even one holding every platform key
Source
services-platform:modules/notifications/tests/unit/permissions.spec.js#makes both HQ keys staff-only, operate sensitive
02 Require an active customer access grantpermissionapinegativetest
Proves
BR-CAP-PFM-NOT-012-02
Preconditions
Use Rhythm staff granted access to one workspace but lacking access to a second.
Steps
Retrieve History and requests of each, and of a workspace that does not exist.
Expected
The granted read returns administrator-equivalent history; the remaining reads fail without returning customer records.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is refused without an active staff access grant, naming nothing of the tenant
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is answered with an active grant into the tenant, the same page its administrator reads
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is refused for another tenant, the grant reaching only the tenant it names
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#refuses a tenant’s requests for Rhythm HQ without an access grant into the tenant, as its History is
Source
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is refused without an active staff access grant, naming nothing of the tenant
03 Retry only exhausted notification deliveriestransitionapinegativetest
Proves
BR-CAP-PFM-NOT-012-04
Preconditions
Prepare a single delivery with attempts exhausted, one rejected permanently.
Steps
Retry each, and an unrecognized delivery.
Expected
The exhausted delivery returns to queued work. Missing and permanently refused deliveries fail eligibility checks without changes.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/integration/services/dispatch/deliver-delivery.integration.spec.js#queues a delivery that ran out of receives again, with its work row, and nothing else
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#lists the dead deliveries and refuses to retry one that is not there
Source
services-platform:modules/notifications/tests/integration/services/dispatch/deliver-delivery.integration.spec.js#queues a delivery that ran out of receives again, with its work row, and nothing else
04 Read HQ History only while access is grantedinteractionapinegativetest
Proves
AS-JNY-PFM-NOT-004-02
Preconditions
Prepare staff sessions with active granted access and without granted access.
Steps
Retrieve the customer's history as each.
Expected
Active-grant history succeeds; the same read without a grant fails.
Data
The journey's own personas and Northeast unit.
Bound to
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is answered with an active grant into the tenant, the same page its administrator reads
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is refused without an active staff access grant, naming nothing of the tenant
Source
services-platform:modules/notifications/tests/integration/services/centre/hq-notifications.integration.spec.js#is answered with an active grant into the tenant, the same page its administrator reads
05 Expose the current operator content and grant boundaryboundaryapiproposed
Proves
BR-CAP-PFM-NOT-012-07
Preconditions
An authorized HQ operator without an active customer grant and an exhausted customer delivery containing rendered content.
Steps
Read its dead-letter record and retry the eligible delivery; separately request customer History without the grant.
Expected
Operator responses currently include channel content, while customer History is rejected; the product question determines the required future content boundary.
Data
Use an isolated workspace, delivery payload and operator grant state.
Source
services-platform:modules/notifications/services/centre/hq-notifications.ts
06 HQ retry affects operational progress within its authority boundaryinteractionapiproposed
Proves
BR-CAP-PFM-NOT-012-04
Preconditions
Prepare an operational Slack delivery exhausted through temporary failure and a permanent provider refusal.
Steps
List failed work, retry each delivery from HQ, then process queued work and inspect operational notice progress.
Expected
Only the exhausted delivery is offered again. The permanent refusal remains final, and the retried operational notice reflects the new delivery outcome.
Data
A suite-owned workspace, named staff accounts and unique occurrence keys; external adapters record attempts without shared writes.
Source
rhythm-v2-docs:specs/platform/notifications/planning/capabilities/CAP-PFM-NOT-012-support-a-customers-notifications-from-rhythm-hq.md#frontmatter,rhythm-v2-docs:specs/platform/notifications/planning/capabilities/CAP-PFM-NOT-013-alert-rhythms-own-staff-in-slack.md#frontmatter

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.