Skip to content

ATS-PFM-NOT-010Explain notification selection and delivery: Capability Test Specification

Markdown

ATS-PFM-NOT-010

Explain notification selection and delivery: 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-071
  • Permission covered
  • Edge covered
  • Failure gap: FND-PFM-NOT-071
  • Boundary gap: FND-PFM-NOT-071
  • Concurrency gap: FND-PFM-NOT-071
  • Invariant gap: FND-PFM-NOT-071
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-PFM-NOT-010; 6 bound to an existing test.

01 Read explanation only for an owned itempermissionapinegativetest
Proves
BR-CAP-PFM-NOT-010-01
Preconditions
Jane's notice and a colleague's.
Steps
Jane reads hers with its why; next the colleague's.
Expected
Personal detail returns channel selection, skipped reasons, audience rules and contribution lists; a colleague's item is not found.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#reads one of its own with its why, and nobody else’s
services-platform:modules/notifications/tests/integration/services/centre/notification-centre.integration.spec.js#answers the lists of a notification’s resolution as lists, whatever the stored resolution lacks
Source
services-platform:modules/notifications/tests/e2e/notifications.e2e.spec.js#reads one of its own with its why, and nobody else’s
02 Render readable audience reasonsruleunittest
Proves
BR-CAP-PFM-NOT-010-02
Preconditions
Prepare every audience type, delegation with known and unnamed delegators, and responsibility fallback selection.
Steps
Render the explanation for each selection type.
Expected
Each recipient-rule type receives the corresponding product explanation.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a holder holds the responsibility, by its label
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a delegate covers the responsibility for the person they cover
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a delegate whose delegator is unknown covers the responsibility
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says the responsibility fell back to the fallback’s holder
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a permission holder holds the permission, by its key
services-platform:modules/notifications/tests/integration/services/orchestration/resolve-audience.integration.spec.js#words a delegate’s reason as covering the responsibility for the person who delegated, and the holder’s as holding it
Source
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#says a person named directly was named directly
03 Prefer the producer's supplied explanationedgeapitest
Proves
BR-CAP-PFM-NOT-010-03
Preconditions
Prepare a request whose audience entry carries a reason; one with a empty reason.
Steps
Process both audience-reason forms and inspect their recipient explanations.
Expected
A nonblank producer reason is displayed; blank input uses standard recipient wording.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#uses the producer’s own words for the rule when the entry carries a reason
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#falls back to the kind’s words when the reason is blank
services-platform:modules/notifications/tests/integration/services/centre/notification-centre.integration.spec.js#puts the producer’s reason in the words of the rule that reached the person
Source
services-platform:modules/notifications/tests/unit/audience-planner.spec.js#uses the producer’s own words for the rule when the entry carries a reason
04 Explain skipped channels consistentlyinteractionapitest
Proves
BR-CAP-PFM-NOT-010-04
Preconditions
Prepare a notice with e-mail skipped until its milestone.
Steps
Retrieve the notice and its delivery summary.
Expected
Both explanation and delivery summary identify e-mail as awaiting its milestone.
Data
Use only records created and owned by this suite.
Bound to
services-platform:modules/notifications/tests/integration/services/centre/notification-centre.integration.spec.js#says the milestone of a channel not yet available on the delivery summary, as the resolution does
services-platform:modules/notifications/tests/unit/channel-resolution.spec.js#words a skipped channel with the adapter’s own sentence when it has one
Source
services-platform:modules/notifications/tests/integration/services/centre/notification-centre.integration.spec.js#says the milestone of a channel not yet available on the delivery summary, as the resolution does
05 Display the explanation without raw reason tokensrulebrowsertest
Proves
BR-CAP-PFM-NOT-010-05
Preconditions
Jane has received an item announcing her assignment.
Steps
Select the item's Why Did I Get This? action.
Expected
The sheet shows the producer reason, console delivery and unavailable e-mail explanation, with no raw token.
Data
Use only records created and owned by this suite.
Bound to
react-console:components/notifications/__tests__/notifications.test.tsx#words the milestone from the delivery summary while the resolution is not there yet
react-console:lib/notifications/__tests__/model.test.ts#never shows a token in the whole sentence
react-console:lib/notifications/__tests__/model.test.ts#joins several of the producer's reasons with and
Source
react-console:components/notifications/__tests__/notifications.test.tsx#tells why in a sentence in the Why sheet
06 Inspect an assignment explanation in the consoleinteractionbrowsertest
Proves
AS-JNY-PFM-NOT-001-03
Preconditions
Jane's assignment notice.
Steps
Display the recipient explanation sheet using Why Did I Get This?.
Expected
Jane sees the producer reason, console routing and the pending e-mail milestone.
Data
The journey's own personas and Northeast unit.
Bound to
Source
react-console:acceptance/notifications/playwright/journeys/history/NT-ACC-0101.spec.ts#NT-ACC-0101
07 Personal and administrator explanations agree without expanding accessinteractionapiproposed
Proves
BR-CAP-PFM-NOT-010-07
Preconditions
Prepare an explained responsibility notice and a second staff account lacking authority for its destination.
Steps
Read the notice personally and through administrator History, compare selection and channel explanations, then attempt its destination action as the second account.
Expected
Both read surfaces describe the same selection and skipped channels. Seeing an explanation supplies no authority for the destination action.
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-010-understand-why-i-was-told.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-011-see-what-the-organization-told-whom.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.