Skip to content

ATS-COM-FUL-012Prepare an order's goods for dispatch: Capability Test Specification

Markdown

ATS-COM-FUL-012

Prepare an order's goods for dispatch: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaCommerceModuleFulfillment, Shipping and InventoryRevision2

Read atservices-commerce c8b66a98react-console baf6dae3

Coverage

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

Test Scenarios

13 scenarios proving CAP-COM-FUL-012; 10 bound to an existing test.

01 Shipment creation gathers only unassigned unitsruleapinegativetest
Proves
BR-CAP-COM-FUL-012-01
Preconditions
An order has three picked units at a warehouse.
Steps
Create its shipment and request another without new units.
Expected
The first shipment contains the contiguous three-unit range and saved destination and charge; the next request fails.
Data
Fixtures for shipment creation gathers only unassigned units.
Bound to
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#makes the shipment from the order’s three picked units as one line (units 0..2) at the warehouse, numbered, addressed from the order, charged what the order paid, on the strategy’s carrier and service
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#refuses a third wave: nothing is left to ship (409 nothing_to_ship)
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#makes the shipment from the order’s three picked units as one line (units 0..2) at the warehouse, numbered, addressed from the order, charged what the order paid, on the strategy’s carrier and service
02 Replenishment enables a later shipping waveinteractionapitest
Proves
BR-CAP-COM-FUL-012-02
Preconditions
Three of five ordered units are ready and two are backordered.
Steps
Dispatch the first wave, receive stock and create the next shipment.
Expected
The replenished units become the second shipment and are picked during creation.
Data
Fixtures for replenishment enables a later shipping wave.
Bound to
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes the first wave of the three picked units (0..2), charged what the order paid, and walks it to the handoff
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#fills the two backorders at the receipt, and the second wave picks the filled units at its creation (3..4) and ships them
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#completes the order’s shipping: every unit shipped, every obligation completed, the shelf down five, the cost facts emitted per wave
Source
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes the first wave of the three picked units (0..2), charged what the order paid, and walks it to the handoff
03 Pickup creation retains collection without carrier costedgeapitest
Proves
BR-CAP-COM-FUL-012-03
Preconditions
The buyer selected pickup for the order.
Steps
Create a shipment.
Expected
It references the collection warehouse without carrier or shipping charge.
Data
Fixtures for pickup creation retains collection without carrier cost.
Bound to
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#makes a pickup shipment of the order at the pick-up warehouse, on no carrier, charged nothing
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes a pickup shipment of the paid order, on no carrier, and refuses its label 409 operation_not_supported
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#makes a pickup shipment of the order at the pick-up warehouse, on no carrier, charged nothing
04 Picking and packing advance released warehouse worktransitionapitest
Proves
BR-CAP-COM-FUL-012-04 BR-CAP-COM-FUL-012-05 BR-CAP-COM-FUL-012-06
Preconditions
A shipment is open.
Steps
Release it, form and claim picking work, record picks and pack parcels.
Expected
Picked quantities become parcels with derived weights and the shipment reaches packed state.
Data
Fixtures for picking and packing advance released warehouse work.
Bound to
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#releases the shipment to the floor and lists its line for picking at the bin the ledger names, the shipment picking
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#records the pick: the list line picked, the shipment line picked with its quantity, the shipment picked
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#packs the three units into two parcels, the second weighed from nothing (the shirt has no weight), the line packed, the shipment packed with two packages
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#holds a picked line to its whole quantity and a short one to less, by pick_list_lines_picked_check, and a claimed list to its picker, by pick_lists_claimed_check
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a package line of nothing, by package_lines_quantity_check, and one naming a line the tenant does not have, by package_lines_shipment_line_fk
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#releases the shipment to the floor and lists its line for picking at the bin the ledger names, the shipment picking
05 Short picking creates an actionable SKU findingfailureapiproposed
Proves
BR-CAP-COM-FUL-012-05
Preconditions
A three-unit pick line yields only two units.
Steps
Record the actual picked quantity.
Expected
The line is short and its finding identifies the SKU and picking work.
Data
Fixtures for short picking creates an actionable SKU finding.
Source
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#holds a picked line to its whole quantity and a short one to less, by pick_list_lines_picked_check, and a claimed list to its picker, by pick_lists_claimed_check
06 Collected shipments reject cancellationboundaryapinegativetest
Proves
BR-CAP-COM-FUL-012-08
Preconditions
A pickup shipment has already been collected.
Steps
Request cancellation of the collected shipment.
Expected
Cancellation is refused and the collected result remains.
Data
Fixtures for shipment cancellation retains the underlying order.
Bound to
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#refuses a second handover (not packed any more) and the cancellation of a collected shipment
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#refuses a second handover (not packed any more) and the cancellation of a collected shipment
07 Application credentials cannot rewrite shipment eventsinvariantapinegativetest
Proves
BR-CAP-COM-FUL-012-09 INV-DOM-COM-FUL-004-08
Preconditions
Shipment history already contains events.
Steps
Attempt event update, deletion and truncation under the application role.
Expected
Each mutation fails and reads retain chronological history.
Data
Fixtures for application credentials cannot rewrite shipment events.
Bound to
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#lets the application role insert an event and refuses it UPDATE, DELETE and TRUNCATE, 42501
Source
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#lets the application role insert an event and refuses it UPDATE, DELETE and TRUNCATE, 42501
08 Warehouse progression checks mutation authoritypermissionapinegativeproposed
Proves
BR-CAP-COM-FUL-012-11
Preconditions
A reader and ordinary warehouse clerk are available.
Steps
Exercise shipment creation, release and cancellation for both.
Expected
The reader cannot write and the clerk lacks administrator cancellation authority.
Data
Fixtures for warehouse progression checks mutation authority.
Source
services-commerce:aws/commerce.service.ts:ShipmentsPermissions
09 The selected buyer option becomes warehouse shipment workinteractionapitest
Proves
BR-CAP-COM-FUL-011-08 BR-CAP-COM-FUL-012-03
Preconditions
An active collection warehouse offers pickup beside carrier delivery.
Steps
Select pickup, place and pay the order, dispatch its goods and create a shipment.
Expected
The shipment uses the selected collection warehouse, without a carrier charge.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Bound to
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#offers the pick-up at zero beside UPS Ground for the shirts, with the warehouse it is collected from
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes a pickup shipment of the paid order, on no carrier, and refuses its label 409 operation_not_supported
Source
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#offers each pick-up at zero beside the zone’s shipped options, kind pickup, with where the buyer collects,services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#makes a pickup shipment of the order at the pick-up warehouse, on no carrier, charged nothing
10 Packing permits label purchase and manifestation before departureinteractionapitest
Proves
BR-CAP-COM-FUL-012-04 BR-CAP-COM-FUL-012-06 BR-CAP-COM-FUL-012-07 BR-CAP-COM-FUL-013-01 BR-CAP-COM-FUL-014-01
Preconditions
An authorized merchandise order has released warehouse work.
Steps
Pick, pack, purchase labels for every parcel, manifest and hand off.
Expected
Parcel preparation reaches labelled and manifested states before the shipment leaves; departure completes its units.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Bound to
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#releases the shipment to the floor and lists its line for picking at the bin the ledger names, the shipment picking
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#records the pick: the list line picked, the shipment line picked with its quantity, the shipment picked
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#packs the three units into two parcels, the second weighed from nothing (the shirt has no weight), the line packed, the shipment packed with two packages
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#buys the first label through UPS under package:<id>:1 (the intent then the outcome), the tracking number and the cost on the label, the package labelled
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#records the refused purchase failed (carrier_unavailable), not in flight, so the next purchase buys on attempt 2
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#answers a purchase the platform refused before anything ran 503 carrier_unavailable with the reason, sent once
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#hands off: the line handed to the carrier with its whole quantity shipped, the units shipped in the ledger, one shipment movement of minus three on the item, three fewer on hand
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#completes every unit’s obligation through the register (the allocation as the record), and emits one deferred cost relief fact per item
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#writes the shipped quantity on the order line, the order’s shipping_summary complete, and the order’s history
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#releases the shipment to the floor and lists its line for picking at the bin the ledger names, the shipment picking,services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#buys the first label through UPS under package:<id>:1 (the intent then the outcome), the tracking number and the cost on the label, the package labelled,services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#hands off: the line handed to the carrier with its whole quantity shipped, the units shipped in the ledger, one shipment movement of minus three on the item, three fewer on hand
11 Replenishment creates the second dispatch waveinteractionapitest
Proves
BR-CAP-COM-FUL-012-02 BR-CAP-COM-FUL-017-07 BR-CAP-COM-FUL-018-02 BR-CAP-COM-FUL-014-01
Preconditions
A five-shirt order has three available units and two backorders.
Steps
Ship the first wave, receive two more shirts and create and ship the next wave.
Expected
The second wave contains only the two replenished units; all five obligations complete.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Bound to
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes the first wave of the three picked units (0..2), charged what the order paid, and walks it to the handoff
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#fills the two backorders at the receipt, and the second wave picks the filled units at its creation (3..4) and ships them
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#completes the order’s shipping: every unit shipped, every obligation completed, the shelf down five, the cost facts emitted per wave
Source
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#makes the first wave of the three picked units (0..2), charged what the order paid, and walks it to the handoff,services-commerce:modules/inventory/tests/integration/services/stock/staff-movements.integration.spec.js#converts both backordered units to committed in the receipt’s transaction, oldest order first, leaving one to sell,services-commerce:modules/inventory/tests/integration/services/stock/merchandise-claims.integration.spec.js#is refused insufficient_stock with nothing written when the product prohibits backorders (the last cap),services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#hands off: the line handed to the carrier with its whole quantity shipped, the units shipped in the ledger, one shipment movement of minus three on the item, three fewer on hand
12 Cancellation fencing releases selected allocations while retained units ship laterinteractionapitest
Proves
BR-CAP-COM-FUL-012-08 BR-CAP-COM-FUL-014-06 BR-CAP-COM-FUL-018-07
Preconditions
Three picked shirts share a labelled shipment and cancellation selects the final unit.
Steps
Commit cancellation, deliver its instruction and create a new shipment for the retained units.
Expected
The selected unit releases, the old parcel is pulled, and two retained picked units use new shipment work.
Data
An isolated workspace with the products, records, authority and quantities described in the preconditions.
Bound to
services-commerce:modules/shipping/tests/e2e/post-purchase-shipping.e2e.spec.js#fences and cancels the shipment line, pulls the package and voids the counter label, and refuses the handoff asked after (409)
services-commerce:modules/shipping/tests/e2e/post-purchase-shipping.e2e.spec.js#delivers the cancel to the Merchandise participant: unit 2 released, the kept units unfenced and picked, the document completed, the memo and the refund after the domain
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#refuses a second handover (not packed any more) and the cancellation of a collected shipment,services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#cancels the fenced line at the cancel step: the units unstamped (still the order’s, picked), the label voided and the package pulled, the shipment cancelled,services-commerce:modules/inventory/tests/integration/services/stock/merchandise-claims.integration.spec.js#releases a line’s committed units on a void, giving the stock back; a release naming nothing live answers released: []
13 Cancelling a labelled shipment clears warehouse assignments without cancelling its ordertransitionapiproposed
Proves
BR-CAP-COM-FUL-012-08
Preconditions
An authorized order has a labelled shipment whose goods have not departed.
Steps
Cancel the shipment and inspect its lines, parcels, labels, order and allocations.
Expected
The shipment and its preparation close; the order remains and its retained picked units can use another shipment.
Data
A labelled three-unit shipment, its order and an authorized cancellation identity.
Source
services-commerce:modules/shipping/tests/integration/services/fulfillment/shipping-flow.integration.spec.js#refuses a second handover (not packed any more) and the cancellation of a collected shipment

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.