Skip to content

ATS-ACC-PRD-014Configure a purchase confirmation message: Capability Test Specification

Markdown

ATS-ACC-PRD-014

Configure a purchase confirmation message: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-ACC-PRD-014

Design

Executed by
TST-ACC-PRD-039

KindAcceptance test setProduct areaAccountingModuleProductsRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

  • Rule covered
  • Transition covered
  • Validation covered
  • Permission gap: FND-ACC-PRD-063
  • Edge covered
  • Failure covered
  • Boundary gap: FND-ACC-PRD-063
  • Concurrency gap: FND-ACC-PRD-063
  • Invariant gap: FND-ACC-PRD-063
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-ACC-PRD-014; 4 bound to an existing test.

01 Shared templates must fit confirmation usevalidationunitnegativetest
Proves
BR-CAP-ACC-PRD-014-02
Preconditions
Template fixtures span owners, purposes and workspaces.
Steps
Select missing, wrong-purpose, foreign or owned templates as shared, then select an eligible template.
Expected
Invalid choices fail and the eligible shared template succeeds.
Data
Template fixtures span owners, purposes and workspaces.
Bound to
Source
services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#refuses a product’s OWN template named as a shared one
02 Platform failure rolls back product writesfailureunitnegativetest
Proves
BR-CAP-ACC-PRD-014-03 BR-CAP-ACC-PRD-014-04
Preconditions
A product can own confirmation content.
Steps
Submit refused content, missing reply-to, a Platform failure and two valid template saves.
Expected
Failed calls preserve product data and valid saves retain one template across versions.
Data
A product can own confirmation content.
Bound to
Source
services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#refuses content Platform refuses, naming the property, and writes nothing
03 Switching confirmation ownership clears contenttransitionunittest
Proves
BR-CAP-ACC-PRD-014-05
Preconditions
A product owns a confirmation template.
Steps
Switch to shared content and disable another product’s owned content.
Expected
Both previously owned templates are cleared.
Data
A product owns a confirmation template.
Bound to
Source
services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#clears the product’s own template when it switches to a shared one
04 Omission avoids a template callruleunittest
Proves
BR-CAP-ACC-PRD-014-06
Preconditions
A product has owned confirmation content.
Steps
Replace ordinary product details without confirmation configuration.
Expected
The template remains unchanged and Platform receives no request.
Data
A product has owned confirmation content.
Bound to
Source
services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#asks Platform for nothing
05 Shared confirmation switches to owned content and offtransitionapinegativeproposed
Proves
BR-CAP-ACC-PRD-014-01 BR-CAP-ACC-PRD-014-03 BR-CAP-ACC-PRD-014-05
Preconditions
A product selects a valid shared confirmation template and the communications port records calls.
Steps
Replace with valid owned content, then return to shared and disable the selection.
Expected
The selection follows each saved state; owned content is saved and subsequently cleared, and shared content is never cleared.
Data
A product selects a valid shared confirmation template and the communications port records calls.
Source
services-accounting:modules/products/services/persistence/products.ts:templateChangeOf; rhythm-v2-docs:specs/accounting/products/design/state-models/STATE-ACC-PRD-004-confirmation-message-setting.md#transitions
06 Remote success followed by local failure leaves a recovery gapedgeapinegativeproposed
Proves
BR-CAP-ACC-PRD-014-04 INV-DOM-ACC-PRD-001-07
Preconditions
An owned-template operation succeeds before a forced response-read or local commit failure.
Steps
Fail local completion after the remote write, then inspect local configuration and remote content independently.
Expected
The local replacement rolls back while remote content may have changed; the observation exposes the documented compensation gap.
Data
An owned-template operation succeeds before a forced response-read or local commit failure.
Source
rhythm-v2-docs:specs/accounting/products/design/workflows/WF-ACC-PRD-001-create-or-replace-a-product-with-its-owned-settings.md#hops; services-accounting:modules/products/services/persistence/products.ts:updateProduct
07 Owned confirmations survive omission and are cleared after deletioninteractionapinegativeproposed
Proves
BR-CAP-ACC-PRD-014-06 BR-CAP-ACC-PRD-004-02 BR-CAP-ACC-PRD-006-06
Preconditions
A product selects owned confirmation content.
Steps
Replace ordinary details without confirmation configuration, then delete the product with cleanup succeeding and failing in separate runs.
Expected
Omission sends no template mutation; deletion commits independently of cleanup success.
Data
A product selects owned confirmation content.
Source
services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#asks Platform for nothing; services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#keeps the confirmation e-mail and its template; services-accounting:modules/products/tests/integration/services/persistence/products.features.integration.spec.js#leaves the delete standing when Platform cannot clear the template

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.