Skip to content

ATS-COM-FUL-003Protect a member-priced purchase until its membership arrives: Capability Test Specification

Markdown

ATS-COM-FUL-003

Protect a member-priced purchase until its membership arrives: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-COM-FUL-003

Design

Executed by
TST-COM-FUL-023, TST-COM-FUL-046

KindAcceptance test setProduct areaCommerceModuleFulfillment, Shipping and InventoryRevision2

Read atservices-commerce c8b66a98react-console baf6dae3

Coverage

  • Rule covered
  • Transition covered
  • Validation gap: FND-COM-FUL-058
  • Permission gap: FND-COM-FUL-058
  • Edge covered
  • Failure covered
  • Boundary gap: FND-COM-FUL-058
  • Concurrency gap: FND-COM-FUL-058
  • Invariant gap: FND-COM-FUL-058
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-COM-FUL-003; 6 bound to an existing test.

01 Provisional member pricing retains its delivery dependencyruleapitest
Proves
BR-CAP-COM-FUL-003-01 BR-CAP-COM-FUL-003-02
Preconditions
A buyer orders membership and a member-priced item together.
Steps
Place the order and satisfy its payment condition.
Expected
The item references the membership prerequisite and remains waiting for its delivery.
Data
Fixtures for provisional member pricing retains its delivery dependency.
Bound to
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#writes the T-shirt’s obligation with the prerequisite on the membership line and domain_prerequisite on its gate; the membership’s without
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#opens the membership’s gate and keeps the T-shirt’s closed prerequisite_not_met while the membership is not delivered
Source
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#writes the T-shirt’s obligation with the prerequisite on the membership line and domain_prerequisite on its gate; the membership’s without
02 Membership completion settles waiting purchases oncetransitionapitest
Proves
BR-CAP-COM-FUL-003-03
Preconditions
A paid purchase depends on undelivered membership.
Steps
Complete the membership delivery.
Expected
Its prerequisite is recorded satisfied once and its gate can open.
Data
Fixtures for membership completion settles waiting purchases once.
Bound to
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#delivers the membership, meets the T-shirt’s prerequisite with order.prerequisite_met on the history, and opens its gate
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#records the registration’s prerequisite met, writes it on the history once, and opens its gate (authorized, queued); a repeat finds nothing waiting
Source
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#delivers the membership, meets the T-shirt’s prerequisite with order.prerequisite_met on the history, and opens its gate
03 Permanent prerequisite loss requires staff attentionfailureapinegativetest
Proves
BR-CAP-COM-FUL-003-04 BR-CAP-COM-FUL-003-06
Preconditions
A paid purchase relies on the membership line.
Steps
Exercise permanent membership failure and, separately, membership cancellation.
Expected
The purchase retains its price and gains one failed-prerequisite block and exception.
Data
Fixtures for permanent prerequisite loss requires staff attention.
Bound to
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#blocks the T-shirt prerequisite_failed when the membership fails for good, with the block on the history and the exception raised for staff (05 §4)
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#blocks the registration prerequisite_failed with the membership named in its facts, writes the block on the history once, and raises the exception once
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#a cancelled membership (the order cancelled a line before it enrolled) blocks its dependents too
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#leaves the T-shirt line priced as it was: nothing reprices a placed line (R-04)
Source
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#blocks the T-shirt prerequisite_failed when the membership fails for good, with the block on the history and the exception raised for staff (05 §4)
04 Unsettled outcomes leave dependent work aloneedgeapinegativetest
Proves
BR-CAP-COM-FUL-003-05
Preconditions
Several orders contain membership-dependent purchases.
Steps
Report retryable failure and work still in progress.
Expected
Those outcomes do not change any dependent obligation.
Data
Fixtures for unsettled outcomes leave dependent work alone.
Bound to
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#a retryable failure, an obligation in flight, a line nothing depends on, and the dependents of another order
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#names what settles the dependents: a completed fulfil meets them; a permanent failure, a resolution or a cancellation fails them; the rest nothing
Source
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#a retryable failure, an obligation in flight, a line nothing depends on, and the dependents of another order
05 A later completed membership can release blocked worktransitionapitest
Proves
BR-CAP-COM-FUL-003-07
Preconditions
Earlier membership failure blocked a dependent purchase.
Steps
Re-evaluate the blocked work, then re-authorize and complete membership.
Expected
The block persists until successful membership delivery permits opening.
Data
Fixtures for a later completed membership can release blocked work.
Bound to
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#keeps the registration blocked when the sweep evaluates it again, and opens it once the membership is re-authorized and completes (05 §4)
Source
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#keeps the registration blocked when the sweep evaluates it again, and opens it once the membership is re-authorized and completes (05 §4)
06 Membership delivery opens the dependent merchandise gateinteractionapitest
Proves
BR-CAP-COM-FUL-002-07 BR-CAP-COM-FUL-003-02 BR-CAP-COM-FUL-003-03 BR-CAP-COM-FUL-004-04
Preconditions
A paid cart contains a membership and a member-priced shirt. Both have waiting delivery work.
Steps
Evaluate payment, deliver the membership and then dispatch the shirt.
Expected
The shirt waits before membership completion, records its satisfied prerequisite, then completes delivery.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Bound to
services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#delivers the membership, meets the T-shirt’s prerequisite with order.prerequisite_met on the history, and opens its gate
Source
services-commerce:modules/fulfillment/tests/unit/policies/evaluate-gate.spec.js#the participant’s prerequisite is waited for, and a child line follows its parent unless the policy says not,services-commerce:modules/fulfillment/tests/e2e/same-cart-grants.e2e.spec.js#delivers the membership, meets the T-shirt’s prerequisite with order.prerequisite_met on the history, and opens its gate,services-commerce:modules/fulfillment/tests/e2e/obligation-register.e2e.spec.js#completes the obligation and answers it as it stands; the repeat answers the same
07 A recovered membership releases the blocked purchase while staff retain the diagnosisinteractionapiproposed
Proves
BR-CAP-COM-FUL-003-07 BR-CAP-COM-FUL-003-06 BR-CAP-COM-FUL-005-05 BR-CAP-COM-FUL-008-03
Preconditions
Membership delivery failed permanently and its member-priced shirt is blocked. The failure is visible to staff.
Steps
Inspect and acknowledge the finding, re-authorize the membership, complete its new instruction, then inspect the shirt and retained history.
Expected
The shirt can open after membership completion; its original price remains visible. Acknowledgement alone does not release it.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Source
services-commerce:modules/fulfillment/tests/integration/services/register/prerequisite-settlement.integration.spec.js#keeps the registration blocked when the sweep evaluates it again, and opens it once the membership is re-authorized and completes (05 §4),services-commerce:modules/fulfillment/tests/e2e/obligation-register.e2e.spec.js#overrides the gate of the unpaid obligation, authorizing it regardless of the facts, with the override on the obligation,services-commerce:modules/operations/tests/e2e/operations.e2e.spec.js#acknowledges then resolves the finding, with the interventions logged, the order’s history and the audit events recorded

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.