---
id: TST-PFM-ELG-442
title: Eligibility bindings checks
kind: integration
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - >-
    modules/eligibility/tests/integration/services/persistence/bindings.integration.spec.js
implements:
  - ATS-PFM-ELG-007-04
  - ATS-PFM-ELG-007-05
  - ATS-PFM-ELG-007-06
  - ATS-PFM-ELG-007-08
  - ATS-PFM-ELG-007-09
environment: local
implementation_state: implemented
latest_result: not-run
conformance: not-verified
estimated_minutes: 5
isolation: Prepared local test database with suite-owned fixture keys and cleanup.
evidence:
  - provenance: test
    source: >-
      services-platform:modules/eligibility/tests/integration/services/persistence/bindings.integration.spec.js
    cases:
      - bindings.queries.integration.spec.js
      - >-
        creates a following binding, active, with a minted id and the parameters
        given
      - creates a binding pinned to a published version of the definition
      - refuses a pinned binding that names no version
      - refuses a following binding that names a version
      - refuses a pin of the definition’s draft
      - refuses a pin of another definition’s version
      - refuses a new binding of a deprecated definition
      - 'refuses a binding of an archived definition, and writes none'
      - refuses a second binding of the same consumer to the same definition
      - refuses a definition of another tenant as an unknown definition
      - refuses a fail policy outside the three
      - pins the binding to a version at the version read
      - >-
        refuses a change at a version that is no longer current, and leaves the
        binding as it was
      - keeps a pin of a version retired after it was pinned
      - refuses to move the pin to a retired version
      - drops the pin when the binding returns to following
      - >-
        refuses to make a suspended binding of an archived definition active
        again
      - refuses a binding of another tenant as not found
      - 'refuses a binding of another tenant as not found, and leaves it'
      - deletes the binding and answers its id
      - takes the binding’s plans with it
      - refuses a binding that is already gone
      - 'points the binding at the other definition, moving its version'
      - >-
        answers nothing, and moves nothing, when the consumer already binds the
        other definition
      - 'refuses a pinned binding, which a person moves'
      - 'refuses a move to a deprecated definition, and leaves the binding'
      - refuses a binding of another tenant as not found
  - provenance: documented
    source: >-
      services-platform:modules/eligibility/tests/integration/services/persistence/bindings.integration.spec.js:suite
      header
    note: >-
      The source header describes the verification boundary and declared
      substitutions.
proof_limit: >-
  Only the named scenario checkpoints have a verified source binding; execution
  has not been attempted.
---

# Eligibility bindings checks

## Verification Boundary

This suite checks the module through real local service and database code at the entry points used by its test cases.

## What This Suite Proves

The mapped scenarios identify the capability and feature checkpoints this file exercises. The source test titles preserve the assertion-level evidence.

## What It Does Not Prove

Registration supplies no execution result or conformance decision. Checks beyond the file’s reachable assertions remain unverified, including production configuration.

## Real Dependencies and Test Doubles

The suite uses local integration fixtures. Signing, caches, provider responses or outbound delivery may be supplied by fixtures where the source declares a substitution. The source imports and suite header identify the exact dependencies.

## Must Not Be Doubled

The module behavior under assertion, transaction boundary and database constraint being checked remain real. Fixture setup cannot stand in for the asserted write or refusal.
