---
id: TST-COM-ORD-071
title: The grant specification
kind: unit
product_area: commerce
module: orders
revision: 1
status: draft
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
repository: services-commerce
files:
  - modules/entitlements/tests/unit/register/grant-specification.spec.js
implements:
  - ATS-COM-ORD-013-03
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: 'The suite owns its in-memory inputs, scripted responses and rendered component state.'
evidence:
  - provenance: test
    source: 'services-commerce:modules/entitlements/tests/unit/register/grant-specification.spec.js'
    test_cases:
      - 'names the kind in the contract’s grammar: commerce.entitlements.grant'
      - writes the specifications under entitlements with the holder defaulted to the recipient
      - 'reads a well-formed payload back, unlimited and windowless included'
      - 'answers missing for a payload with no specifications, and for no payload at all'
      - >-
        answers invalid, naming the issue, for a kind the register does not hold, a zero quantity, an empty
        list and an unknown property
      - >-
        gives the grant to the line’s recipient, to the buyer when the line names none, and to the buyer when
        the spec says so
      - 'grants the specification’s uses whatever the units bought, and keeps unlimited unlimited'
scenario_coverage:
  - scenario: ATS-COM-ORD-013-03
    test_cases:
      - >-
        gives the grant to the line’s recipient, to the buyer when the line names none, and to the buyer when
        the spec says so
    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/entitlements/tests/unit/register/grant-specification.spec.js'
  declared_by_test: 'the schema and the functions. Doubled: nothing.'
---

# The grant specification

## Verification Boundary

The unit suite checks the named contract or helper with controlled inputs.

## What This Suite Proves

The registered cases check the grant specification 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

Inputs and external responses are controlled in process; this suite establishes no deployed service behavior.

## Must Not Be Doubled

The named contract validation or component behavior under assertion must use its actual implementation.
