---
id: TST-COM-ORD-024
title: 'Checkout: the ids of the people it names (R-3, end to end)'
kind: api-lifecycle
product_area: commerce
module: orders
revision: 1
status: draft
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
repository: services-commerce
files:
  - modules/checkout/tests/e2e/checkout-record-ids.e2e.spec.js
implements:
  - ATS-COM-ORD-001-03
  - ATS-COM-ORD-001-12
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 2
isolation: The suite creates its own test workspace records and removes them using the fixture cleanup.
evidence:
  - provenance: test
    source: 'services-commerce:modules/checkout/tests/e2e/checkout-record-ids.e2e.spec.js'
    test_cases:
      - 'refuses a buyer that is a slug when the checkout is opened, 400 naming buyer_id, and writes nothing'
      - 'refuses an acting contact, a bill-to and a recipient that are slugs, each naming its field'
      - >-
        refuses a recipient that is a slug on an item added and on an item changed, leaving the checkout as it
        was
      - >-
        clears the recipient of an item changed with both fields null, keeps it when neither is given, and
        refuses one null alone (COM-ACC-0018)
      - >-
        refuses an item whose parent_item_id names no item of the checkout, 400 envelope_invalid, and takes
        one that does (COM-ACC-0025)
      - 'refuses a price quote for a subject that is a slug, 400 naming the id, where it was priced before'
      - 'places the checkout of a buyer with a UUIDv7 id, 200, rather than failing inside the placement'
scenario_coverage:
  - scenario: ATS-COM-ORD-001-03
    test_cases:
      - 'refuses a buyer that is a slug when the checkout is opened, 400 naming buyer_id, and writes nothing'
      - 'refuses an acting contact, a bill-to and a recipient that are slugs, each naming its field'
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-001-12
    test_cases:
      - >-
        refuses an item whose parent_item_id names no item of the checkout, 400 envelope_invalid, and takes
        one that does (COM-ACC-0025)
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
---

# Checkout: the ids of the people it names (R-3, end to end)

## Verification Boundary

The suite drives the composed local API dispatcher and its registered routes.

## What This Suite Proves

The registered cases check checkout: the ids of the people it names (R-3, end to end) with their fixture records and assertions. Scenario bindings name only the examples those cases exercise.

## What It Does Not Prove

A registered file supplies no run result or verified conformance by itself. Local fixtures do not establish deployed cross-service behavior or complete browser journeys.

## Real Dependencies and Test Doubles

PostgreSQL and the exercised Commerce persistence or workflow code are real. Remote service records, clocks and transports follow the suite’s fixtures.

## Must Not Be Doubled

The database constraints, role restrictions, locks and transactions exercised by this suite must use PostgreSQL.
