---
id: TST-PFM-INT-569
title: binding eligibility
kind: unit
product_area: platform
module: integrations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - modules/integrations/tests/unit/services/binding-eligibility.spec.ts
implements:
  - ATS-PFM-INT-008-02
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: Pure test fixtures owned by the test process.
evidence:
  - 'services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts'
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes, with
      every check recorded in the chapter’s order
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#carries no
      warning on an active connection
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails an
      invalid binding, naming its reason
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails only
      itself when the binding is all that is wrong
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      connection that needs re-authorization, naming its status
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes a
      degraded connection with the connection_degraded warning
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      suspended, a disconnected and a verifying connection alike
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      suspended installation, naming its status
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      retired version
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes a
      deprecated version that is deployed
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      published version with no active deployment here
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      version that does not implement the major
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails an
      implementation without the invocation’s mode, naming the mode
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails when
      the invocation asks for a feature the connection has not verified, naming it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails when
      the binding requires a feature the connection lost, naming it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      connection whose verification found the capability unsupported
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      currency the implementation does not accept
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes a
      context that names no value a constraint reads
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes an
      open circuit whose probe is not due, recording it open (admission answers it, not resolution)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes a
      half-open circuit
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes when
      the gateway has written no circuit, which is closed
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails when
      the installation did not accept the capability, naming it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#fails a
      console invoker without the capability’s permission, naming it
    provenance: test
  - source: 'services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#passes'
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#records the
      later failures beside the first
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#accepts any
      currency when the implementation says any
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#compares
      currencies and countries without regard to case
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#refuses an
      amount below the minimum
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#refuses an
      amount above the maximum
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#accepts the
      amounts at both bounds
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#refuses an
      amount that is not a whole number, under every amount constraint
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#refuses a
      country the implementation does not serve
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#is half-open
      once an open circuit’s probe is due
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts#stays open
      before its probe is due
    provenance: test
dependency_evidence:
  provenance: test
  source: 'services-platform:modules/integrations/tests/unit/services/binding-eligibility.spec.ts'
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# binding eligibility

## Verification Boundary

This unit suite exercises binding eligibility. Its registration records the executable definition; no run result is asserted.

## What This Suite Proves

The bindings identify the detailed outcomes asserted by this suite. Test-level evidence retains the individual checks, including cases where several suites contribute to one scenario.

## What It Does Not Prove

Pure cases do not establish database constraints, deployed authorization or provider effects.

## Real Dependencies and Test Doubles

The suite evaluates its imported functions with controlled inputs. Its source records the fixture and substitution boundary.

## Must Not Be Doubled

The function under test and its result checks must execute. Replacing them with expected answers provides no proof.
