---
id: TST-COM-ORD-072
title: Amendments
kind: api-lifecycle
product_area: commerce
module: orders
revision: 1
status: draft
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
repository: services-commerce
files:
  - modules/orders/tests/e2e/amendments.e2e.spec.js
implements:
  - ATS-COM-ORD-015-01
  - ATS-COM-ORD-015-02
  - ATS-COM-ORD-015-03
  - ATS-COM-ORD-015-04
  - ATS-COM-ORD-015-05
  - ATS-COM-ORD-015-06
  - ATS-COM-ORD-015-11
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/orders/tests/e2e/amendments.e2e.spec.js'
    test_cases:
      - >-
        prorates by remaining months (six of twelve): $150.00 unused, $225.00 for the rest of the term, net
        $75.00 charged
      - >-
        placed the change order under the amendment: the original’s parties, one premium line at the remaining
        value, billed, placed
      - >-
        marked the original line amended with its successor (nothing to fence: the type claims nothing), and
        wrote a modify obligation superseding the delivered fulfilment
      - >-
        credited the unused value from the original payment and applied it to the change invoice; the document
        awaits the buyer’s tender
      - >-
        completes once the buyer’s card accepts the change order and the worker delivers the modify: the
        original fulfilment superseded
      - >-
        credits $225.00 unused against $150.00 new: net −$75.00 as a credit; the change order accepted at
        once, the document executing
      - completes once the change line is paid in Accounting’s view and the worker delivers the modify
      - 'taxed the original membership at 8.25 % ($24.75), the premise of the shares below'
      - >-
        shows the tax on both sides in the plan: $18.56 on the new value, $12.38 of the original tax unused,
        the net $81.18
      - >-
        placed the change order taxed: the tax on the change line and the header, a tax line on the tax
        product, the quote frozen
      - >-
        credits the unused value with its tax share ($162.38) and applies it to the change invoice; the buyer
        owes the net $81.18
      - >-
        refunds a downgrade’s unused tax share less the new value’s tax: −$81.19, the change order accepted
        with nothing to pay
      - 'rejects a change the participant refuses, with its problem, and leaves the line open'
      - >-
        holds a change the participant wants approved; a second request on the line is 409; the approver
        approves, staff execute
      - 'lets the member withdraw an approved, unexecuted change; the line stays open'
      - >-
        refuses a change order itself (409 order_not_amendable), an unknown product (409 product_not_found),
        another member, a reader and another tenant
scenario_coverage:
  - scenario: ATS-COM-ORD-015-01
    test_cases:
      - >-
        prorates by remaining months (six of twelve): $150.00 unused, $225.00 for the rest of the term, net
        $75.00 charged
      - >-
        placed the change order under the amendment: the original’s parties, one premium line at the remaining
        value, billed, placed
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-02
    test_cases:
      - >-
        marked the original line amended with its successor (nothing to fence: the type claims nothing), and
        wrote a modify obligation superseding the delivered fulfilment
      - >-
        completes once the buyer’s card accepts the change order and the worker delivers the modify: the
        original fulfilment superseded
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-03
    test_cases:
      - >-
        credits $225.00 unused against $150.00 new: net −$75.00 as a credit; the change order accepted at
        once, the document executing
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-04
    test_cases:
      - >-
        shows the tax on both sides in the plan: $18.56 on the new value, $12.38 of the original tax unused,
        the net $81.18
      - >-
        placed the change order taxed: the tax on the change line and the header, a tax line on the tax
        product, the quote frozen
      - >-
        refunds a downgrade’s unused tax share less the new value’s tax: −$81.19, the change order accepted
        with nothing to pay
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-05
    test_cases:
      - 'rejects a change the participant refuses, with its problem, and leaves the line open'
      - >-
        holds a change the participant wants approved; a second request on the line is 409; the approver
        approves, staff execute
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-06
    test_cases:
      - >-
        refuses a change order itself (409 order_not_amendable), an unknown product (409 product_not_found),
        another member, a reader and another tenant
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
  - scenario: ATS-COM-ORD-015-11
    test_cases:
      - 'lets the member withdraw an approved, unexecuted change; the line stays open'
    scope: >-
      The cited cases exercise the scenario’s listed fixture outcomes; this register makes no verified
      conformance claim.
dependency_evidence:
  provenance: test
  source: 'services-commerce:modules/orders/tests/e2e/amendments.e2e.spec.js'
  declared_by_test: >-
    the composed handler, the routes, the amendment workflow, the pricing quote, the billing, the tender, the
    register, the reference participant over its own pool, the adjustment worker, the persistence services and
    PostgreSQL. Doubled: the signing key pair, the other services' tables (local stand-ins), Accounting (the
    fixture transport and the fixture adjustment commands: the credit the adjustment applies is recorded by
    the fixture port and unknown to the fixture Accounting, so the buyer's card here pays the change invoice
    whole), the facts port (the fixture), the queue publisher.
---

# Amendments

## Verification Boundary

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

## What This Suite Proves

The registered cases check amendments 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.
