Skip to content

ATS-COM-ORD-010Locate orders and understand their progress: Capability Test Specification

Markdown

ATS-COM-ORD-010

Locate orders and understand their progress: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaCommerceModuleCustomer purchases, purchased benefits and vendor stockRevision2

Read atservices-commerce c8b66a98macroservice-libraries 54536a44react-console baf6dae3

Coverage

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

Test Scenarios

12 scenarios proving CAP-COM-ORD-010; 8 bound to an existing test.

01 Workspace paging retains order and buyer informationboundaryapitest
Proves
BR-CAP-COM-ORD-010-01
Preconditions
Contact and organization purchases include an unknown CRM buyer and more than one page.
Steps
[ { "do": "List workspace orders and continue with the cursor.", "provenance": "test", "source": "services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#a reader lists every order of the tenant with no buyer named, newest first, 50 a page" } ]
Expected
Pages follow descending placement order, expose available names and enforce the two-hundred-item bound.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#a reader lists every order of the tenant with no buyer named, newest first, 50 a page
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#lists every order of the tenant newest placed first, and none of another tenant’s
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers each order with its buyer’s name, a contact’s or an organization’s, null when CRM has none
Source
services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#a reader lists every order of the tenant with no buyer named, newest first, 50 a page
02 Literal order search handles names and number textboundaryapitest
Proves
BR-CAP-COM-ORD-010-02
Preconditions
Fixtures include an order number and a buyer name containing an underscore.
Steps
[ { "do": "Search number variants, mixed-case name fragments, literal underscore and excessive text.", "provenance": "test", "source": "services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#finds an order by its display number with or without the ORD- prefix" } ]
Expected
Valid terms match the expected records and the overlong search is refused.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#reads a search term literally: an underscore matches an underscore, not any character
Source
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#finds an order by its display number with or without the ORD- prefix
03 List filters combine status and money boundariesruleapitest
Proves
BR-CAP-COM-ORD-010-03
Preconditions
Orders cover paid, owing, unbilled and voided cases across kinds and dates.
Steps
[ { "do": "Apply filters individually and together.", "provenance": "test", "source": "services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#filters by status" } ]
Expected
Results meet all supplied filters, inclusive dates are retained and voided records are excluded from unpaid.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#filters the unpaid orders: owing or not yet billed, never a voided one
Source
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#filters by status
04 Buyer and workspace filter modes remain distinctpermissionunitnegativetest
Proves
BR-CAP-COM-ORD-010-04
Preconditions
A buyer owns orders and the caller can be a portal member.
Steps
[ { "do": "Submit incomplete buyer fields and incompatible filter combinations, then list the member’s buyer scope.", "provenance": "test", "source": "services-commerce:modules/orders/tests/unit/orders/orders-list-query.spec.js#refuses a buyer kind without an id" } ]
Expected
Malformed combinations return 400 and the workspace portal request returns 403 while permitted buyer scope is available.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#is refused the list of every order, 403, and still lists their own
Source
services-commerce:modules/orders/tests/unit/orders/orders-list-query.spec.js#refuses a buyer kind without an id
05 Money derivation reports reconciliation gapsfailureunittest
Proves
BR-CAP-COM-ORD-010-06
Preconditions
Position fixtures include billed lines, credit applications, missing lines and a void invoice.
Steps
[ { "do": "Derive and refresh money and invoke stale-mirror processing.", "provenance": "test", "source": "services-commerce:modules/orders/tests/unit/mirror/money-mirror.spec.js#sums the positions: paid counts payments and credit applications once, credited the memos, the balance what is due" } ]
Expected
The figures count payment and credit application once, and inconsistencies raise their recorded exceptions.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/orders/tests/unit/mirror/money-mirror.spec.js#sums the positions: paid counts payments and credit applications once, credited the memos, the balance what is due
services-commerce:modules/orders/tests/integration/services/mirror/refresh-money-mirror.integration.spec.js#raises accepted_without_invoice_line on the billed line the view lacks, one open row counting both findings, and still writes the mirror it could derive
services-commerce:modules/orders/tests/integration/services/orders/financial-sweeps.integration.spec.js#re-derives the stale mirror of an accepted order from the view, and leaves a fresh one
Source
services-commerce:modules/orders/tests/unit/mirror/money-mirror.spec.js#sums the positions: paid counts payments and credit applications once, credited the memos, the balance what is due
06 Orders table rendering handles edge display casesedgeunittest
Proves
BR-CAP-COM-ORD-010-07
Preconditions
Sample rows include voided, foreign-currency and missing-customer records.
Steps
[ { "do": "Render the table and its order link.", "provenance": "test", "source": "react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#heads the six columns staff read" } ]
Expected
The columns, currency labels, missing-name explanation and voided balance treatment match the supplied data.
Data
Use the controlled records and transports established by the cited tests.
Bound to
react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#shows the number, the customer, the status, the total and the balance due
react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#opens Order 360 under the buyer from the order number
react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#marks a voided order's balance as none rather than zero
Source
react-console:components/commerce/orders/__tests__/orders-list-screen.test.tsx#heads the six columns staff read
07 Order detail presents financial and line evidenceruleunittest
Proves
BR-CAP-COM-ORD-010-08
Preconditions
Rendered samples include a promotion, declined attempt, failed delivery and absent mirror.
Steps
[ { "do": "Render the summary, line and payment cards.", "provenance": "test", "source": "react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows the totals with the promotion's name, the money, and the invoice as a link to Accounting" } ]
Expected
The cards expose their supplied amounts, explanations, failures and links, including the unavailable-Accounting message.
Data
Use the controlled records and transports established by the cited tests.
Bound to
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows the totals with the promotion's name, the money, and the invoice as a link to Accounting
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#says Accounting has not reported when the order has no money mirror yet
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows a line's discount reason, tax and the reason its delivery failed
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#lists each tender with its status, the declined one struck through and a payment linked to Accounting
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows a payment the processor has not confirmed as pending at the processor
Source
react-console:components/console/order/__tests__/order-360-live-cards.test.tsx#shows the totals with the promotion's name, the money, and the invoice as a link to Accounting
08 Search-to-detail flow finds a previous saleinteractionbrowserproposed
Proves
AS-JNY-COM-ORD-003-01 AS-JNY-COM-ORD-003-02 AS-JNY-COM-ORD-003-03
Preconditions
A live workspace has multiple order pages and a customer’s dated unpaid order.
Steps
[ { "do": "Page, search the surname, narrow payment and dates and open the result.", "provenance": "proposed", "source": "FND-COM-ORD-032" } ]
Expected
The selected search result opens its own detail with the current financial position and no duplicate paging entries.
Data
A controlled workspace with the parties, commercial setup and application responses described above.
Source
FND-COM-ORD-032
09 An order read joins the retained sale evidenceruleapitest
Proves
BR-CAP-COM-ORD-010-05
Preconditions
The fixture order has frozen lines, invoice connections and sequenced attempts.
Steps
[ { "do": "Read the order and included collections.", "provenance": "test", "source": "services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers the order whole: every column mapped, the system properties, the mirror absent until derived" } ]
Expected
The header, lines, purchases, payment sequence and invoice records identify the same sale.
Data
Use an isolated workspace with the records and responses named in the preconditions.
Bound to
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers the order whole: every column mapped, the system properties, the mirror absent until derived
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers the line whole with its purchase, the invoice line id billing wrote, and the provenance of its price
Source
services-commerce:modules/orders/tests/integration/services/persistence/orders.queries.integration.spec.js#answers the order whole: every column mapped, the system properties, the mirror absent until derived
10 A member’s list stays inside their buyer scopeinteractionapiproposed
Proves
BR-CAP-COM-ORD-010-04 BR-CAP-COM-ORD-011-03
Preconditions
Two contacts in one workspace each have an order.
Steps
[ { "do": "List the first buyer as that member, request the other buyer and request the workspace list.", "provenance": "proposed", "source": [ "services-commerce:modules/orders/tests/unit/orders/orders-list-query.spec.js#refuses a search beside a buyer", "services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#is refused another member’s checkout and order, 403 not_your_party, and a change of it" ] } ]
Expected
The own-buyer list succeeds and both broader requests are refused.
Data
Use an isolated workspace with the records and responses named in the preconditions.
Source
services-commerce:modules/orders/tests/unit/orders/orders-list-query.spec.js#refuses a search beside a buyer,services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#is refused another member’s checkout and order, 403 not_your_party, and a change of it
11 A partial cancellation remains visible beside the surviving saleinteractionapiproposed
Proves
BR-CAP-COM-ORD-010-06 BR-CAP-COM-ORD-014-13
Preconditions
A paid accepted order has two item lines.
Steps
[ { "do": "Cancel one line and immediately read order detail.", "provenance": "proposed", "source": [ "services-commerce:modules/orders/tests/integration/services/mirror/refresh-money-mirror.integration.spec.js#raises accepted_without_invoice_line on the billed line the view lacks, one open row counting both findings, and still writes the mirror it could derive", "services-commerce:modules/orders/tests/e2e/cancellations.e2e.spec.js#shows the cancellation’s credit on the order’s money mirror at once, read right after the cancel" ] } ]
Expected
The other line remains accepted and the displayed credit identifies the cancelled portion.
Data
Use an isolated workspace with the records and responses named in the preconditions.
Source
services-commerce:modules/orders/tests/integration/services/mirror/refresh-money-mirror.integration.spec.js#raises accepted_without_invoice_line on the billed line the view lacks, one open row counting both findings, and still writes the mirror it could derive,services-commerce:modules/orders/tests/e2e/cancellations.e2e.spec.js#shows the cancellation’s credit on the order’s money mirror at once, read right after the cancel
12 Cancellation and payment feed the retained money projectioninteractionapiproposed
Proves
BR-CAP-COM-ORD-010-01 BR-CAP-COM-ORD-006-01 BR-CAP-COM-ORD-007-01 BR-CAP-COM-ORD-014-01
Preconditions
A billed two-line sale receives full payment.
Steps
[ { "do": "Cancel one line, refresh Accounting positions and read order money.", "provenance": "proposed", "source": [ "services-commerce:modules/orders/services/mirror/refresh-money-mirror.ts:refreshMoneyMirrorOf", "services-commerce:modules/orders/tests/e2e/billing-and-tender.e2e.spec.js#mirrors Accounting’s position: invoiced and paid in full, nothing due", "services-commerce:modules/orders/services/mirror/refresh-money-mirror.ts", "services-commerce:modules/fulfillment/services/facts/financial-facts-handler.ts", "services-commerce:modules/orders/services/orders/financial-sweeps.ts:sweepFinancials" ] } ]
Expected
The projection includes paid and credited amounts once while the standing line retains its balance.
Data
Use an isolated workspace with the records and responses named in the preconditions.
Source
services-commerce:modules/orders/services/mirror/refresh-money-mirror.ts:refreshMoneyMirrorOf,services-commerce:modules/orders/tests/e2e/billing-and-tender.e2e.spec.js#mirrors Accounting’s position: invoiced and paid in full, nothing due,services-commerce:modules/orders/services/mirror/refresh-money-mirror.ts,services-commerce:modules/fulfillment/services/facts/financial-facts-handler.ts,services-commerce:modules/orders/services/orders/financial-sweeps.ts:sweepFinancials

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.