Skip to content

ATS-PFM-INT-010Determine the result of uncertain or overdue calls: Capability Test Specification

Markdown

ATS-PFM-INT-010

Determine the result of uncertain or overdue calls: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleIntegration access, customer extensions and shared workflow configurationRevision3

Read atservices-platform ad3f6a65macroservice-libraries 54536a44react-console baf6dae3

Coverage

  • Rule covered
  • Transition gap: FND-PFM-INT-070
  • Validation gap: FND-PFM-INT-070
  • Permission covered
  • Edge covered
  • Failure covered
  • Boundary gap: FND-PFM-INT-070
  • Concurrency gap: FND-PFM-INT-070
  • Invariant covered
  • Interaction covered

Test Scenarios

11 scenarios proving CAP-PFM-INT-010; 7 bound to an existing test.

01 Unknown payments use lookup instead of re-authorizationinteractionapitest
Proves
BR-CAP-PFM-INT-010-01 AS-JNY-PFM-INT-004-01
Preconditions
A payment lost its answer after being sent.
Steps
Run reconciliation when the first thirty-second delay expires.
Expected
Lookup uses the original connection and execution identity without another authorization.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks the execution up on the same connection with the contracts’ lookup shape, never repeating the authorize
02 Uncertainty follows the lookup timetableruleapitest
Proves
BR-CAP-PFM-INT-010-02
Preconditions
Provider lookups cannot establish the outcome.
Steps
Use the controlled clock to run all five lookups.
Expected
Further checks wait two minutes, ten minutes, one hour and six hours, then transfer the call to attention with one notice.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#backs off 2 min, 10 min, 1 h and 6 h while the lookup cannot tell
03 Not found retains uncertainty until the final checkedgeapitest
Proves
BR-CAP-PFM-INT-010-03
Preconditions
A payment and a non-sensitive record lookup each receive not-found results.
Steps
Advance through all scheduled lookups.
Expected
The payment remains unknown until manual attention, while the record lookup fails only at the final check.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#keeps looking through the fourth lookup, never failing a payment the provider may still show
04 Lost or late work enters reconciliationfailureapitest
Proves
BR-CAP-PFM-INT-010-04
Preconditions
Prepare an accepted unfinished asynchronous call, a lost attempt and lost retry dispatch.
Steps
Run the reconciler before and after their deadline bounds.
Expected
Nothing moves before its bound; overdue work becomes unknown with its cause and is eligible for later lookup.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/unit/services/execution-timeouts.spec.ts#is 24 hours for an async-only capability whose manifest declares none
05 Completion emission follows one committed settlementinvariantapitest
Proves
BR-CAP-PFM-INT-010-05
Preconditions
An adapter completes asynchronous work and lookup settles a previously unanswered immediate call.
Steps
Repeat completions, redeliver work and repeat lookup settlement, including a rollback.
Expected
Each committed settlement produces one applicable completion event, repeats produce none and rollback loses no later completion.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/executions/execution-settlement.integration.spec.js#is written once for two settlements that both read the execution running, the loser moving nothing
06 Callback permissions protect execution ownershippermissionapinegativetest
Proves
BR-CAP-PFM-INT-010-06
Preconditions
The test adapter has running asynchronous work and another provider’s connection exists.
Steps
Report progress and attempt invalid, foreign-connection and synchronous completions.
Expected
Progress reports cancellation state; invalid result and unauthorized execution contexts are refused.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/adapter-callbacks/adapter-callbacks.integration.spec.js#refuses a sync execution, which only the gateway settles
07 Console attention mirrors reconciliationinteractionbrowsertest
Proves
BR-CAP-PFM-INT-010-07
Preconditions
A payment answer is lost after delivery.
Steps
Inspect its Activity and detail through successive checks.
Expected
It remains Settling with its next check until Platform ends reconciliation, then enters Needs Attention.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/unit/services/execution-settlement-wire.spec.ts#gives the next lookup time of an unknown execution, not in needs attention
08 A manual finding settles only onceinteractionapiproposed
Proves
BR-CAP-PFM-INT-010-05 BR-CAP-PFM-INT-011-06
Preconditions
An uncertain asynchronous call requires attention.
Steps
Record a successful finding with a note and repeat the request while inspecting completion records.
Expected
One outcome and applicable completion are retained, with no provider invocation for the finding.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/executions/execution-settlement.integration.spec.js#is written once for two settlements that both read the execution running, the loser moving nothing,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#lets an operator resolve a needs_attention execution by hand, audited, with no call to the provider
09 Attention follows settlement rather than elapsed ageinteractionapiproposed
Proves
BR-CAP-PFM-INT-006-10 BR-CAP-PFM-INT-010-07
Preconditions
One call is still scheduled for lookup and another has exhausted investigation.
Steps
Read both execution states and open the attention view.
Expected
Only the exhausted investigation appears as a call requiring a person.
Data
Run-owned records and principals in an isolated workspace.
Source
react-console:lib/integrations/needs-attention.test.ts#leaves a settling (unknown) execution out however long it has been unknown,services-platform:modules/integrations/tests/unit/services/execution-settlement-wire.spec.ts#gives the next lookup time of an unknown execution, not in needs attention
10 Settled asynchronous work reaches only its callerinteractionapiproposed
Proves
BR-CAP-PFM-INT-010-05 BR-CAP-PFM-INT-015-03
Preconditions
Two applications have completion consumers and the first owns an unanswered asynchronous operation.
Steps
Settle the operation, route its completion and repeat settlement.
Expected
Only the calling application receives the response and no second completion is created.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/executions/execution-settlement.integration.spec.js#is written once for two settlements that both read the execution running, the loser moving nothing,services-platform:modules/integrations/tests/e2e-adapters/events-dummy.adapters.spec.js#reaches the consumer of the application that invoked it, carrying the response
11 A post-send timeout enters lookup without another sendinteractionapiproposed
Proves
BR-CAP-PFM-INT-009-05 BR-CAP-PFM-INT-010-01
Preconditions
A sensitive operation times out after possible provider receipt.
Steps
Invoke it, run the due lookup and inspect attempts and provider operations.
Expected
Investigation uses the same execution and account; no second authorization is sent.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#retries a timeout before send after the sync schedule’s first delay, with the same execution id, and succeeds,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks the execution up on the same connection with the contracts’ lookup shape, never repeating the authorize

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.