Skip to content

ATS-PFM-NOT-004Render recipient-specific notification content: Capability Test Specification

Markdown

ATS-PFM-NOT-004

Render recipient-specific notification content: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleStaff Notifications and Association CommunicationsRevision2

Read atservices-platform ad3f6a65react-console baf6dae3

Coverage

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

Test Scenarios

5 scenarios proving CAP-PFM-NOT-004; 4 bound to an existing test.

01 Apply locale fallback and time-zone formattingruleunittest
Proves
BR-CAP-PFM-NOT-004-01
Preconditions
Prepare a definition with English and French templates; two people in different zones.
Steps
Render for Canadian French and German, using both recipient time zones.
Expected
The regional French locale uses French, undeclared German uses English, and identical instants display according to each zone.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/render-message.spec.js#renders an instant in the recipient’s zone, not the server’s
services-platform:modules/notifications/tests/unit/render-message.spec.js#renders the same instant differently for a person in another zone
services-platform:modules/notifications/tests/unit/render-message.spec.js#uses the recipient’s locale when the definition declares it
services-platform:modules/notifications/tests/unit/render-message.spec.js#falls back from a regional locale to its language
services-platform:modules/notifications/tests/unit/render-message.spec.js#falls back to English for a locale the definition does not declare
Source
services-platform:modules/notifications/tests/unit/render-message.spec.js#renders an instant in the recipient’s zone, not the server’s
02 Truncate oversized console contentboundaryunittest
Proves
BR-CAP-PFM-NOT-004-03
Preconditions
Provide rendering inputs producing a title of two hundred characters and a body of three thousand.
Steps
Generate the recipient content.
Expected
A notice is created with a 140-character title and 2,000-character body.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/render-message.spec.js#cuts a title longer than 140 characters rather than refusing the notification
Source
services-platform:modules/notifications/tests/unit/render-message.spec.js#cuts a title longer than 140 characters rather than refusing the notification
03 Build destinations for the notice workspaceinteractionbrowsertest
Proves
BR-CAP-PFM-NOT-004-04
Preconditions
Prepare a definition opening My Responsibilities; a request in a workspace and one in no workspace.
Steps
Generate both destination forms and follow the console action.
Expected
Console content retains the workspace-relative route; configured external channels receive an absolute link; the HQ route survives. Opening reaches My Responsibilities in the notice workspace.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/render-message.spec.js#gives the in-app record the tenant-relative path, and every other channel the absolute link under the workspace
services-platform:modules/notifications/tests/unit/render-message.spec.js#keeps an HQ route as it is when the request is in no tenant
services-platform:modules/notifications/tests/unit/render-message.spec.js#builds no destination when a parameter is missing
react-console:components/notifications/__tests__/destination.test.ts#binds /me/responsibilities to the workspace of the notice
Source
services-platform:modules/notifications/tests/unit/render-message.spec.js#gives the in-app record the tenant-relative path, and every other channel the absolute link under the workspace
04 Redact retained link valuesinvariantapitest
Proves
BR-CAP-PFM-NOT-004-05
Preconditions
Prepare a definition with a link field.
Steps
Submit link-bearing request data and retrieve its retained representation after processing.
Expected
The rendered destination remains usable while the stored request field contains a redaction marker.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/render-message.spec.js#replaces each with the marker and leaves the rest
Source
services-platform:modules/notifications/tests/integration/services/orchestration/orchestrate-request.integration.spec.js#redacts a url field of the data from the request after it was rendered
05 Rendered destinations remain usable across channel and inbox viewsinteractionapiproposed
Proves
BR-CAP-PFM-NOT-004-04
Preconditions
Use localized recipients, a declared destination link and supported console and e-mail channels.
Steps
Process the occurrence, inspect retained data and deliveries, then open its destination from the recipient inbox.
Expected
The inbox opens the destination in the notice workspace; retained link data is redacted, and the skipped e-mail channel remains explainable.
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-004-word-each-notice-for-the-person-who-receives-it.md#frontmatter,rhythm-v2-docs:specs/platform/notifications/planning/capabilities/CAP-PFM-NOT-009-work-through-my-own-notifications.md#frontmatter,rhythm-v2-docs:specs/platform/notifications/planning/capabilities/CAP-PFM-NOT-007-deliver-each-notice-on-the-channels-it-may-use.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.