---
id: TST-PFM-INT-481
title: gateway dummy
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-adapters/gateway-dummy.adapters.spec.js
implements:
  - ATS-PFM-INT-009-05
  - ATS-PFM-INT-009-06
  - ATS-PFM-INT-009-07
  - ATS-PFM-INT-010-01
  - ATS-PFM-INT-011-01
  - ATS-PFM-INT-011-04
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-adapters/gateway-dummy.adapters.spec.js'
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers
      the invoke client succeeded with the dummy’s response, typed by the contract
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#lets the
      tenant read the execution, its attempts and its stored response
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers a
      decline as the contract’s answer, succeeded with outcome declined (01)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#retries a
      timeout before send and succeeds on the second attempt (02)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#honours
      the provider’s retry_after of one second, then succeeds (04)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#retries an
      unmapped throw once as adapter_error, and succeeds (05)
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers
      the invoke client unknown, never a retry
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#settles it
      succeeded by the dummy’s lookup, with what the provider did as the stored response
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers
      the invoke client retry_later with retry_after
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#settles
      the execution failed, rate_limited, retry_later.budget_exhausted
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#queues
      nothing, so no attempt reaches the dummy after the answer and nothing succeeds in the background
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#lets the
      caller send the same key again, which starts a new execution
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers
      the invoke client 503 provider_unavailable with retry_after, retryable
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#touches no
      processor: neither the open one nor another
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#records
      the refused execution failed on processor A, its key released
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#sends the
      next payment to processor B
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#refunds on
      processor A, which took the payment
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers a
      repeat of a settled payment with the stored answer, without calling the dummy again
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#refuses
      the key reused with another amount, IntegrationInvokeRefused idempotency_key_reused
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#answers
      accepted, then completes through the adapter callback function
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#honours a
      cancellation asked before its first attempt
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#is timed
      out to unknown by the reconciler, unknown.async_timeout, its attempt still the accepted one
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#is
      reconciled by the next pass: the scripted adapter has no lookup, so it needs attention and the
      administrators are told
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#refuses to
      cancel a settled payment, 409
    provenance: test
dependency_evidence:
  provenance: test
  source: 'services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js'
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# gateway dummy

## Verification Boundary

This database and service suite exercises gateway dummy. 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.
