---
id: TST-PFM-INT-488
title: integration bindings
kind: api-lifecycle
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/e2e/integration-bindings.e2e.spec.js
implements:
  - ATS-PFM-INT-007-01
  - ATS-PFM-INT-007-02
  - ATS-PFM-INT-007-04
  - ATS-PFM-INT-007-05
  - ATS-PFM-INT-007-10
  - ATS-PFM-INT-008-02
  - ATS-PFM-INT-008-06
  - ATS-PFM-INT-008-09
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Use the suite-owned database fixtures and its declared cleanup; prepare the test database before
  integration or lifecycle execution.
evidence:
  - 'services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js'
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers the
      business unit binding the id its scope and revision give
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers the
      resource binding active at revision 1
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a tender
      on A: Payrix, at the resource
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a tender
      on B: Stripe, by its business unit, after finding no resource binding
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a third
      account in an unbound business unit: no_binding, with every scope in the trace
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#shows every
      eligibility check of the chosen binding
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers the new
      binding at revision 2
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a new
      payment on the account: Stripe
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains the
      refund on Payrix’s named connection: resolved, with no binding
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#refuses the
      refund on a disconnected processor with connection_disconnected
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a
      webinar: the main account, by the application, warning that the resource binding was skipped
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains the
      payment resolving with the connection_degraded warning
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#offers the
      connections with manual capture and not the one without
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#lists the
      merchant account’s binding, active, after both calls
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#explains a
      payment on the account through the connection chosen
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#supersedes it,
      and the scope resolves without it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers every
      revision of the scope newest first, each with its reason, author, time and snapshot
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#pages with a
      cursor
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 404 for a
      binding the tenant does not have
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 400 for a
      cursor this list did not issue
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is read by a
      reader of integrations
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused a
      caller without the permission (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 400
      naming the field for a major the contracts do not define
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 400 for a
      body with a field it does not take
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused a
      reader of integrations (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is a 400 for a
      capability the contracts do not define
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers
      connection_unavailable for a capability the connection’s pin does not implement
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#resolves a
      capability the connection’s pin implements
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 400
      naming the field for a feature the connection has not verified
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#answers 403 for a
      resource of another application
    provenance: test
  - source: 'services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#may explain'
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#may list the
      tenant’s bindings, which hold no secret
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused
      removing a binding (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused a
      binding (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused the
      explain route (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused the
      binding list (403)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused the
      tenant’s bindings (403)
    provenance: test
dependency_evidence:
  provenance: test
  source: 'services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js'
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# integration bindings

## Verification Boundary

This database and service suite exercises integration bindings. 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

In-process execution does not establish deployed infrastructure or a real provider response. Several bindings can supply different parts of a detailed scenario; no single-file completeness is implied.

## Real Dependencies and Test Doubles

The suite definition identifies its database fixtures and replaced clients, hooks, clocks or executors. Integration runs use the prepared database; lifecycle runs exercise the in-process route or adapter path.

## Must Not Be Doubled

The database constraints, transactions and service behavior claimed by an integration binding must execute. Replaced external seams cannot establish live provider or infrastructure behavior.
