---
id: ATS-PFM-INT-012
scope: CAP-PFM-INT-012
product_area: platform
module: integrations
revision: 3
status: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
scenarios:
  - id: ATS-PFM-INT-012-01
    title: Account environment gates test invocation
    level: api
    proves:
      - BR-CAP-PFM-INT-012-01
    preconditions: 'Prepare provider-reported test, live and unknown accounts.'
    steps: Attempt a Library test call on each.
    expected: Only the test account executes; the others refuse before recording.
    negative: true
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-484
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
      connection_not_test when the provider reported a live account, and no execution is recorded
    category: validation
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
        connection_not_test when the provider reported a live account, and no execution is recorded
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
        connection_not_test when the environment was never reported
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-02
    title: Existing manager authority controls Try a call
    level: api
    proves:
      - BR-CAP-PFM-INT-012-02
    preconditions: Prepare a reader and integration manager.
    steps: Invoke a test operation as each.
    expected: The reader is refused without records and the manager proceeds.
    negative: true
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-484
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 403 and no
      execution or audit row is recorded
    category: permission
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 403 and no
        execution or audit row is recorded
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-03
    title: Usability and capability support remain required
    level: api
    proves:
      - BR-CAP-PFM-INT-012-03
    preconditions: A test account is suspended and another lacks the requested feature.
    steps: Attempt the test operation against each.
    expected: The first reports unavailable and the second unsupported.
    negative: true
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-484
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
      connection_unavailable when it is suspended
    category: validation
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
        connection_unavailable when it is suspended
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 409
        capability_unsupported for a capability the connection is not verified for
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-04
    title: Library testing retains ordinary gateway history
    level: browser
    proves:
      - BR-CAP-PFM-INT-012-04
      - AS-JNY-PFM-INT-003-02
    preconditions: An active test account is connected.
    steps: Open Try a call and authorize the same test amount twice.
    expected: >-
      Two separate executions use that connection without a binding, identify the person through the
      Library application and appear in Activity.
    negative: false
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-484
      - TST-PFM-INT-340
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#records an execution of
      that connection by the calling application library_try on behalf of the person, with no binding
    category: interaction
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#records an execution
        of that connection by the calling application library_try on behalf of the person, with no
        binding
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#uses a fresh
        idempotency key for each call, so two identical calls are two executions
      - >-
        react-console:acceptance/integrations/playwright/journeys/executions/INT-ACC-0332.spec.ts#INT-ACC-0332
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-05
    title: Test initiation has a connection-history entry
    level: api
    proves:
      - BR-CAP-PFM-INT-012-05
    preconditions: A test account is eligible.
    steps: Invoke from the Library and read connection history.
    expected: 'The entry identifies the capability, resulting execution and initiating person.'
    negative: false
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-484
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#writes a
      connection.test_call audit row naming the capability, the execution and the person
    category: invariant
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#writes a
        connection.test_call audit row naming the capability, the execution and the person
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-06
    title: Provider reports replace account classification
    level: api
    proves:
      - BR-CAP-PFM-INT-012-06
    preconditions: 'Account descriptions return test, then live, and separately an invalid or absent report.'
    steps: Verify each description.
    expected: >-
      Valid reports replace classification; other reports leave it unknown while verification can still
      succeed.
    negative: false
    data_needs: 'Fixtures establishing the stated accounts, declarations and history in an isolated workspace.'
    bound_to:
      - TST-PFM-INT-516
    provenance: test
    source: >-
      services-platform:modules/integrations/tests/integration/services/connections/connection-account-environment.integration.spec.js#records
      test when the provider reports a test account
    category: edge
    binding_evidence:
      - >-
        services-platform:modules/integrations/tests/integration/services/connections/connection-account-environment.integration.spec.js#records
        test when the provider reports a test account
      - >-
        services-platform:modules/integrations/tests/integration/services/connections/connection-account-environment.integration.spec.js#replaces
        a recorded environment when a later verification reports another
      - >-
        services-platform:modules/integrations/tests/integration/services/connections/connection-account-environment.integration.spec.js#leaves
        the environment null, and the verification passed, when the adapter refuses connection.describe
    binding_scope: >-
      contributions: the cited tests support their own asserted outcomes. Additional setup, branches
      and combined sequences remain proposed unless the cited assertions exercise them.
  - id: ATS-PFM-INT-012-07
    level: api
    negative: false
    data_needs: Run-owned records and principals in an isolated workspace.
    bound_to: []
    provenance: proposed
    title: A direct test uses its named account
    category: interaction
    proves:
      - BR-CAP-PFM-INT-008-08
      - BR-CAP-PFM-INT-012-04
    exercises:
      - CAP-PFM-INT-012
      - CAP-PFM-INT-008
    preconditions: A provider-reported test account supports the requested capability and has no binding.
    steps: Invoke through the Library and inspect resolution and execution identity.
    expected: The test uses that account directly and retains ordinary gateway history.
    source:
      - >-
        services-platform:modules/integrations/tests/integration/services/bindings/resolve.integration.spec.js#reaches
        the processor that took the payment through its named connection
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#records an execution
        of that connection by the calling application library_try on behalf of the person, with no
        binding
    workflows:
      - WF-PFM-INT-011
  - id: ATS-PFM-INT-012-08
    level: api
    negative: false
    data_needs: Run-owned records and principals in an isolated workspace.
    bound_to: []
    provenance: proposed
    title: Library calls retain ordinary execution evidence
    category: interaction
    proves:
      - BR-CAP-PFM-INT-009-04
      - BR-CAP-PFM-INT-012-04
    exercises:
      - CAP-PFM-INT-012
      - CAP-PFM-INT-009
    preconditions: An active test account is usable from connection detail.
    steps: Invoke the same example twice through the Library and inspect Activity and account history.
    expected: Separate executions identify the person and selected account without requiring a binding.
    source:
      - >-
        services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#records
        the execution succeeded, with its digest, summaries, reference and one attempt
      - >-
        services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#records an execution
        of that connection by the calling application library_try on behalf of the person, with no
        binding
    workflows:
      - WF-PFM-INT-011
evidence:
  - >-
    Each binding identifies an existing source test at the pinned revision; unbound scenarios remain
    proposed proof obligations.
coverage:
  rule: 'gap: FND-PFM-INT-074'
  transition: 'gap: FND-PFM-INT-074'
  validation: covered
  permission: covered
  edge: covered
  failure: 'gap: FND-PFM-INT-074'
  boundary: 'gap: FND-PFM-INT-074'
  concurrency: 'gap: FND-PFM-INT-074'
  invariant: covered
  interaction: covered
coverage_notes:
  covered: A designed scenario exists; executable coverage and a passing run require separate evidence.
  gaps: >-
    The finding records categories without a designed scenario and remaining permission and rule audit
    obligations.
---
# Exercise a provider capability on a test account: Capability Test Specification

## Coverage

| Rule | Proved By |
|---|---|
| `BR-CAP-PFM-INT-012-01` | `ATS-PFM-INT-012-01` |
| `BR-CAP-PFM-INT-012-02` | `ATS-PFM-INT-012-02` |
| `BR-CAP-PFM-INT-012-03` | `ATS-PFM-INT-012-03` |
| `BR-CAP-PFM-INT-012-04` | `ATS-PFM-INT-012-04`, `ATS-PFM-INT-012-07`, `ATS-PFM-INT-012-08` |
| `BR-CAP-PFM-INT-012-05` | `ATS-PFM-INT-012-05` |
| `BR-CAP-PFM-INT-012-06` | `ATS-PFM-INT-012-06` |
| `BR-CAP-PFM-INT-012-07` | `FND-PFM-INT-074` |

## Interactions With Related Capabilities

Test calls share routing and admission with normal invocation, but use a test connection. The interaction cases inspect both the preview and recorded execution, including permission and environment restrictions.

The structured scenarios name the capabilities and rules involved. A bound test contributes only the outcomes it asserts; proposed transition matrices and composed interactions still require executable proof.
