Skip to content

ATS-PFM-INT-003Adopt an integration with reviewed access: Capability Test Specification

Markdown

ATS-PFM-INT-003

Adopt an integration with reviewed access: 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 gap: FND-PFM-INT-056
  • Transition covered
  • Validation covered
  • Permission covered
  • Edge gap: FND-PFM-INT-056
  • Failure gap: FND-PFM-INT-056
  • Boundary covered
  • Concurrency covered
  • Invariant covered
  • Interaction covered

Test Scenarios

16 scenarios proving CAP-PFM-INT-003; 11 bound to an existing test.

01 Duplicate or hidden installations are rejectedvalidationapinegativetest
Proves
BR-CAP-PFM-INT-003-01
Preconditions
One public provider is installed and another provider is internal.
Steps
Try to install the first again and the internal provider as a customer administrator.
Expected
The repeat conflicts, the hidden offer is not found and neither attempt creates an installation.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses an integration installed already, and writes no second
02 Installation acceptance is limited to declared accessvalidationbrowsernegativetest
Proves
BR-CAP-PFM-INT-003-02 AS-JNY-PFM-INT-001-01
Preconditions
The available test provider has not been installed.
Steps
Untick two access choices during install and later submit a permission outside its declaration.
Expected
Saved access matches the selected choices; undeclared access is identified and refused without a change.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses an acceptance wider than the manifest declares, naming it, and writes nothing
03 Provider settings errors are actionablevalidationbrowsernegativetest
Proves
BR-CAP-PFM-INT-003-03
Preconditions
The installation form includes an optional statement prefix.
Steps
Submit an invalid prefix and then correct it.
Expected
The form explains the invalid value and saves the corrected settings.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses settings the manifest’s schema refuses, and writes nothing
04 Concurrent installation edits preserve the newer saveconcurrencyapinegativetest
Proves
BR-CAP-PFM-INT-003-04
Preconditions
An installation was read before another change advanced its version.
Steps
Save settings using the earlier version.
Expected
The stale save is refused and the latest saved values remain intact.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#refuses a stale version and leaves the settings as they were
05 Consent withdrawal prevents provider contactinteractionapinegativetest
Proves
BR-CAP-PFM-INT-003-05
Preconditions
A refund-capable connection is bound and refunds are accepted.
Steps
Withdraw refund acceptance and invoke a refund through that binding.
Expected
Authorization fails in the trace, the binding refuses and no provider call or execution is created.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/executions/consent-narrowing.integration.spec.js#INT-ACC-0509 step 4: refuses the refund 409 binding_ineligible
06 Installation pause respects independently paused accountstransitionapitest
Proves
BR-CAP-PFM-INT-003-06
Preconditions
The installation has active, degraded and separately suspended connections.
Steps
Suspend without a reason, suspend with a reason and resume.
Expected
The empty reason fails; the valid pause suspends the first two connections, and resume restores only those two.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#suspends the active and degraded connections of the installation when it is suspended
07 Removal requires account disconnectiontransitionbrowsernegativetest
Proves
BR-CAP-PFM-INT-003-07 AS-JNY-PFM-INT-002-03
Preconditions
A suspended installation retains a connected account.
Steps
Attempt uninstall, disconnect the account and uninstall again.
Expected
The first refusal names the account; the second removes the suspended installation and records the accepted change in both trails.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#is refused while a connection is not disconnected, naming each by id, name and status
08 Removal stops only its own subscriptionsinteractionapitest
Proves
BR-CAP-PFM-INT-003-08
Preconditions
Two installations subscribe to contact changes.
Steps
Uninstall one and change a contact.
Expected
Its subscriptions are deleted and receive no new delivery; the other installation still receives the change.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#removes every subscription of the installation with the uninstallation, and no other installation’s
09 Accepted access changes retain an audit trailinvariantapitest
Proves
BR-CAP-PFM-INT-003-10
Preconditions
An enabled installation is available for edits.
Steps
Reduce acceptance, restore declared access, suspend, repeat suspension and resume.
Expected
Accepted changes appear in integration history and security history with widening classification; the repeated suspension appears in neither.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/installations/history-and-security-trail.integration.spec.js#writes the narrowing to the history and to the security trail
10 Workspace purge preserves its neighbourboundaryapitest
Proves
BR-CAP-PFM-INT-003-11
Preconditions
Two workspaces have provider records, audit history and binding revisions.
Steps
Purge one through the deletion participant.
Expected
Its integration records are absent and the neighbouring workspace’s history and revisions remain.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/integration/services/maintenance/tenant-participant.integration.spec.js#leaves every table of the module empty of the tenant, the ones the application can delete included
11 Known identifiers do not cross workspace boundariespermissionapinegativetest
Proves
BR-CAP-PFM-INT-003-12
Preconditions
A different workspace’s administrator holds all integration permissions there.
Steps
Request reads and edits for this workspace through lists and known record identifiers.
Expected
Every cross-workspace request is refused and the target records remain unchanged.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/integrations/tests/e2e/reader-access.e2e.spec.js#is refused every tenant route of this tenant, by id as by list (403)
12 Exercise the complete installation lifecycletransitionapinegativeproposed
Proves
BR-CAP-PFM-INT-003-01 BR-CAP-PFM-INT-003-04 BR-CAP-PFM-INT-003-06 BR-CAP-PFM-INT-003-07 BR-CAP-PFM-INT-003-09
Preconditions
Prepare one independent record in each starting state, including absent-record cases where the model defines creation.
Steps
Run each listed transition once with its guard satisfied, then repeat it with the guard denied. Inspect the resulting record and listed side effects after commit.
Expected
Each positive case reaches its listed destination and records its defined side effects. Each denied case preserves the starting record and creates no transition side effects.
Data
Run-owned records and principals in an isolated workspace.
Source
rhythm-v2-docs:specs/platform/integrations/design/state-models/STATE-PFM-INT-002-installation-lifecycle.md#transitions
13 Installation pause distinguishes independent account pausesinteractionapiproposed
Proves
BR-CAP-PFM-INT-003-06 BR-CAP-PFM-INT-004-06
Preconditions
An installation has active, degraded and independently suspended accounts.
Steps
Suspend and resume the installation; inspect account state and actor history.
Expected
Only accounts paused by the installation return to use.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/installations/installation-lifecycle.integration.spec.js#suspends the active and degraded connections of the installation when it is suspended,services-platform:modules/integrations/tests/integration/services/installations/history-and-security-trail.integration.spec.js#refuses a suspension of a connection that is not active, recording it in neither trail
14 Uninstall removes only its own delivery interestsinteractionapiproposed
Proves
BR-CAP-PFM-INT-003-08 BR-CAP-PFM-INT-014-07
Preconditions
Two installations subscribe to one business change and all accounts of the first are disconnected.
Steps
Uninstall the first installation and generate the subscribed change.
Expected
Only the surviving installation receives a delivery record.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/connections/disconnect-discard-uninstall.integration.spec.js#removes every subscription of the installation with the uninstallation, and no other installation’s,services-platform:modules/integrations/tests/integration/services/subscriptions/subscription-consent.integration.spec.js#skips a subscription whose installation is suspended, and delivers again once it is resumed
15 An installation change is visible in operational historyinteractionapiproposed
Proves
BR-CAP-PFM-INT-003-10 BR-CAP-PFM-INT-006-08
Preconditions
An installation can be edited and its history is readable.
Steps
Save an accepted access change, then submit a stale edit and read history.
Expected
The saved change appears once and the refused edit contributes no history entry.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/installations/history-and-security-trail.integration.spec.js#writes the narrowing to the history and to the security trail,services-platform:modules/integrations/tests/e2e/audit-events-paging.e2e.spec.js#INT-ACC-0530 step 2: the pages run newest first across the boundary
16 Workspace lifecycle separates defaults from retained historyinteractionapiproposed
Proves
BR-CAP-PFM-INT-003-11 BR-CAP-PFM-INT-022-02
Preconditions
Two workspaces have installations and seeded calendars.
Steps
Retry provisioning, delete one workspace through its participants and inspect the remaining workspace.
Expected
Provisioning creates no duplicate seed and deletion removes only the selected workspace records, with protected history removed last.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/maintenance/tenant-participant.integration.spec.js#leaves every table of the module empty of the tenant, the ones the application can delete included,services-platform:modules/workflow-actions/tests/integration/services/maintenance/tenant-participant.integration.spec.js#gives the tenant Standard week in its own zone, as its default

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.