---
id: TST-MBR-STR-013
title: Term engine facade and domain hooks
kind: unit
product_area: membership
module: structure
revision: 1
status: draft
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-membership
files:
  - modules/terms/tests/unit/define-term-engine.spec.ts
implements:
  - ATS-MBR-STR-015-03
  - ATS-MBR-STR-016-01
  - ATS-MBR-STR-016-10
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: Literal inputs and temporary fixtures created by this suite.
evidence:
  - 'services-membership:modules/terms/tests/unit/define-term-engine.spec.ts'
bindings:
  - scenario: ATS-MBR-STR-015-03
    source: >-
      services-membership:modules/terms/tests/unit/define-term-engine.spec.ts#defineTermEngine › computes
      a purchase’s period from the offering’s rule the hook reads
    provenance: test
  - scenario: ATS-MBR-STR-016-01
    source: >-
      services-membership:modules/terms/tests/unit/define-term-engine.spec.ts#defineTermEngine › derives
      the status with the holding’s grace days from the hook
    provenance: test
  - scenario: ATS-MBR-STR-016-10
    source: >-
      services-membership:modules/terms/tests/unit/define-term-engine.spec.ts#refuses the Commerce
      participant, naming P3
    provenance: test
  - scenario: ATS-MBR-STR-016-10
    source: >-
      services-membership:modules/terms/tests/unit/define-term-engine.spec.ts#refuses the billing runs,
      naming P3
    provenance: test
invocation: 'npm run test:unit'
coverage_limit: >-
  Bindings identify the concrete cases executed in this file. A compound specification may also depend on
  other registered suites or remain partly proposed; registration is not a passing execution result.
provenance: test
source:
  - 'services-membership:modules/terms/tests/unit/define-term-engine.spec.ts'
---

# Term engine facade and domain hooks

## Verification Boundary

This suite evaluates local implementation decisions or declarations with controlled inputs. Term engine facade and domain hooks defines the scope of its examples.

## What This Suite Proves

The suite executes the concrete examples named by its binding ledger. Those examples contribute to the linked capability or feature scenarios within the boundary of the test assertions.

## What It Does Not Prove

Registration supplies no fresh execution result or deployed conformance verdict. Browser behavior, deployed infrastructure and unasserted variants require separate evidence.

## Real Dependencies and Test Doubles

The term facade and date decisions are real; supplied domain hooks replace adopting-domain persistence.

## Must Not Be Doubled

The calculation, declaration or workflow decision under examination stays real; replacing it would remove the suite’s verification purpose.
