Skip to content

ATS-COM-ORD-005Create one order at the reviewed price: Acceptance Test Set

Markdown

ATS-COM-ORD-005

Create one order at the reviewed price: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-COM-ORD-005

KindAcceptance test setProduct areaCommerceModuleCustomer purchases, purchased benefits and vendor stockRevision1

Read atservices-commerce c8b66a98react-console baf6dae3

Test Scenarios

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

01 Placement retry identifies the original saleapitest
Proves
BR-CAP-COM-ORD-005-01
Preconditions
An editable cart is ready for placement.
Steps
Submit without a key, submit with a key, retry it and then use a different key.
Expected
The missing-key request fails, one sale is created, its response replays and the changed-key request is refused.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers the same order to a retry under the same key, replayed from the idempotency ledger, writing nothing (08 row 9; D11)
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#refuses a placement of the placed checkout under another key, 409 idempotency_key_mismatch
services-commerce:modules/checkout/tests/e2e/idempotency.e2e.spec.js#refuses a required route without an Idempotency-Key, 400 idempotency_key_required, before the handler runs
services-commerce:modules/checkout/tests/e2e/idempotency.e2e.spec.js#answers the stored status and body, marked Idempotent-Replayed, and runs the placement once: one order row
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers the same order to a retry under the same key, replayed from the idempotency ledger, writing nothing (08 row 9; D11)
02 Concurrent requests produce one saleapitest
Proves
BR-CAP-COM-ORD-005-02
Preconditions
Two requests target the same open cart and placement key.
Steps
Submit them concurrently and retry any in-progress result.
Expected
The order count remains one and successful responses identify that order.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#one places the order; the other is told the request is in progress (409) or answered the one order; exactly one order row exists
services-commerce:modules/checkout/tests/e2e/idempotency.e2e.spec.js#is told the request is in progress, 409 request_in_progress with Retry-After: 2, and places nothing
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#one places the order; the other is told the request is in progress (409) or answered the one order; exactly one order row exists
03 A reviewed price change requires another previewapinegativetest
Proves
BR-CAP-COM-ORD-005-03
Preconditions
A previewed product price is changed upward or downward.
Steps
Attempt placement, request a fresh preview and place again.
Expected
The first attempt reports both prices and leaves the cart open; the confirmed retry uses the new price.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#refuses PRICE_CHANGED with both prices when the price rose since a preview of a moment ago, the checkout left open
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#refuses a price that fell the same way: the amount shown never changes silently
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#binds the new price once the customer previews again, with no price_tolerance adjustment
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#binds a never-previewed checkout at the price of the moment, even one that moved since the checkout opened
services-commerce:modules/orders/tests/unit/placement/price-binding.spec.js#never honours a line whose qualified audiences changed since the preview, at the same amount too (member pricing 05 §4)
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#refuses PRICE_CHANGED with both prices when the price rose since a preview of a moment ago, the checkout left open
04 Audience lapse does not silently change the saleapinegativetest
Proves
BR-CAP-COM-ORD-005-04
Preconditions
A member preview has qualified pricing before the qualification lapses.
Steps
Attempt placement and inspect the cart and earlier orders.
Expected
The request reports audience_lapsed and retains an open cart while earlier purchases remain unchanged.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/member-pricing-placement.e2e.spec.js#refuses the placement 409 placement_refused with audience_lapsed and the decision’s sentence, never repricing silently
services-commerce:modules/checkout/tests/e2e/member-pricing-placement.e2e.spec.js#leaves the checkout open with the refusal on its trail, and placed no order
services-commerce:modules/checkout/tests/e2e/member-pricing-placement.e2e.spec.js#14. leaves the order placed before the lapse as it was: no retroactive repricing
Source
services-commerce:modules/checkout/tests/e2e/member-pricing-placement.e2e.spec.js#refuses the placement 409 placement_refused with audience_lapsed and the decision’s sentence, never repricing silently
05 Failed preparation leaves no purchase recordapinegativetest
Proves
BR-CAP-COM-ORD-005-05
Preconditions
Application fixtures refuse preparation or report unavailable items.
Steps
Submit the carts for placement.
Expected
The response identifies the rejected item, creates no order and preserves unfrozen cart items with refusal history.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers 409 placement_refused with the participant’s problem naming the item
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#placed nothing: no order, the checkout still open with its items unfrozen, the refusal on its trail
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#refuses an item the stub answers unavailable the same way (sold out)
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers 409 placement_refused with the participant’s problem naming the item
06 Competing resource claims commit or roll back togetherapinegativetest
Proves
BR-CAP-COM-ORD-005-06
Preconditions
Two buyers compete for the final unit and another cart includes one unavailable claim.
Steps
Place the competing carts and the multi-claim cart.
Expected
One final-unit purchase wins; failed placement rolls back the other claims and preserves held retry resources.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/holds-and-claims.e2e.spec.js#lets exactly one placement win and refuses the other 409 claim_conflict naming the item and the resource
services-commerce:modules/checkout/tests/e2e/holds-and-claims.e2e.spec.js#placed nothing for the loser: the checkout open, the refusal on its trail; one claim on the resource
services-commerce:modules/checkout/tests/e2e/holds-and-claims.e2e.spec.js#rolled the first seat claim back with the transaction, and left the booth held for the buyer to retry with
services-commerce:modules/checkout/tests/e2e/holds-and-claims.e2e.spec.js#places the checkout: the hold re-affirmed and converted in TX-P, the ledger committed on the line, the claim frozen on the purchase
Source
services-commerce:modules/checkout/tests/e2e/holds-and-claims.e2e.spec.js#lets exactly one placement win and refuses the other 409 claim_conflict naming the item and the resource
07 Purchasing eligibility is rechecked at commitmentapinegativetest
Proves
BR-CAP-COM-ORD-005-07
Preconditions
The product requires eligibility with ineligible and indeterminate fixture verdicts.
Steps
Attempt placement under each verdict.
Expected
The refusal identifies the product and reason and creates no order.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/product-purchase-eligibility.e2e.spec.js#refuses the placement 409 product_not_eligible naming the product (id and name) and the reason
services-commerce:modules/checkout/tests/e2e/product-purchase-eligibility.e2e.spec.js#refuses the placement 409 product_not_eligible, indeterminate, closed
Source
services-commerce:modules/checkout/tests/e2e/product-purchase-eligibility.e2e.spec.js#refuses the placement 409 product_not_eligible naming the product (id and name) and the reason
08 Promotion commitment rejects a changed verdictapinegativetest
Proves
BR-CAP-COM-ORD-005-08
Preconditions
An applied offer qualified at preview but not at placement.
Steps
Submit placement after the eligibility change.
Expected
The response reports promotion_refused with no order or redemption retained.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/promotion-eligibility.e2e.spec.js#refuses the placement 409 promotion_refused, purchaser_not_eligible
services-commerce:modules/checkout/tests/e2e/promotion-eligibility.e2e.spec.js#rolls everything back: no order, no use, the checkout open
Source
services-commerce:modules/checkout/tests/e2e/promotion-eligibility.e2e.spec.js#refuses the placement 409 promotion_refused, purchaser_not_eligible
09 Placement stamps the sale consistentlyapitest
Proves
BR-CAP-COM-ORD-005-09
Preconditions
A simple cart is created with a configured number seed.
Steps
Place it and inspect the header, lines and address snapshot.
Expected
The fixture number is assigned, billing starts pending, line pricing uses the placement instant and an absent address stays absent.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers 200 with the order: numbered 10000, placed, pending billing, pay now with a thirty-minute tender window, created
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#stamps every item line’s price_as_of with the order’s placed_at, one instant (COMM-M2 R2-2)
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#freezes no billing address when CRM holds none for the bill-to party (COMM-M2 R2-2)
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#answers 200 with the order: numbered 10000, placed, pending billing, pay now with a thirty-minute tender window, created
10 Frozen purchases retain the bundle connectionapitest
Proves
BR-CAP-COM-ORD-005-10
Preconditions
A shirt is the parent of a bundled pin.
Steps
Place and read the resulting order and cart.
Expected
Both lines retain their attested purchase details, the child points to its parent line and the placed cart names the order.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#writes one line per item with its frozen purchase: the canonical payload, the stub’s attestation, the plan, no claim
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#places the pin under the shirt with its parent_line_id naming the shirt’s line
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#reads the order whole: lines, purchases, tenders (none), invoices (none), the two pending obligations, the placed event
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#leaves the checkout placed, naming the order, its items frozen with what prepare attested, and its trail telling the story
Source
services-commerce:modules/checkout/tests/e2e/placement.e2e.spec.js#writes one line per item with its frozen purchase: the canonical payload, the stub’s attestation, the plan, no claim
11 Shipping configuration gaps stop placementapinegativetest
Proves
BR-CAP-COM-ORD-005-11
Preconditions
Express shipping is selected under a policy without a shipping product.
Steps
Submit the cart for placement.
Expected
The response contains shipping_product_required and retains an open cart.
Data
Use the controlled records and transports established by the cited tests.
Bound to
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#refuses the placement 409 placement_refused with the problem shipping_product_required, naming the profile
Source
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#refuses the placement 409 placement_refused with the problem shipping_product_required, naming the profile
12 Cart editing authority cannot place an orderapinegativetest
Proves
BR-CAP-COM-ORD-005-12
Preconditions
The clerk has checkout editing permission without order creation permission.
Steps
Add an item and then attempt placement.
Expected
The item change succeeds and placement returns 403.
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 clerk without commerce.orders.create changes a checkout but is refused the placement
Source
services-commerce:modules/checkout/tests/e2e/checkout-security.e2e.spec.js#a clerk without commerce.orders.create changes a checkout but is refused the placement

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.