Skip to content

ATS-PFM-INT-018Keep the action builder aligned with deployed applications: Capability Test Specification

Markdown

ATS-PFM-INT-018

Keep the action builder aligned with deployed applications: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-INT-018

Design

Executed by
TST-PFM-INT-586, TST-PFM-INT-587, TST-PFM-INT-603

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

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

Coverage

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

Test Scenarios

8 scenarios proving CAP-PFM-INT-018; 4 bound to an existing test.

01 Application registration refuses foreign principalspermissionapinegativetest
Proves
BR-CAP-PFM-INT-018-01
Preconditions
CRM has a deployment declaration.
Steps
Submit it as Commerce, an unknown principal and a console caller.
Expected
All are refused and registry entries remain unchanged.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/e2e/workflow-actions-registry.e2e.spec.js#answers 403 to another application’s principal registering CRM
02 Conflicting replacement cannot partially update the registryvalidationapinegativetest
Proves
BR-CAP-PFM-INT-018-02
Preconditions
An application is already registered.
Steps
Submit malformed input, move a trigger’s host, change execution kind and lower a contract version.
Expected
Each request reports validation or conflict and saves no part of the replacement.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/integration/services/registry/register-manifest.integration.spec.js#refuses a key another application registered (409)
03 Deploy declarations retire and revive entriestransitionapitest
Proves
BR-CAP-PFM-INT-018-03
Preconditions
An application declares three entries.
Steps
Replace its declaration without one, then include it again.
Expected
The omitted entry is reported retired and later returns active.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/integration/services/registry/register-manifest.integration.spec.js#retires what is absent, and answers its keys
04 Builder choices match usable declarationsruleapitest
Proves
BR-CAP-PFM-INT-018-05
Preconditions
A host has active, inactive and retired action types.
Steps
Read its trigger points, types for a trigger and retired type detail.
Expected
Universal timers appear, inactive types are omitted and retired detail remains marked retired.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists the types configurable at a trigger, the switched-off one left out
05 Platform setup refreshes declarations and recipestransitionapiproposed
Proves
BR-CAP-PFM-INT-018-07
Preconditions
Existing registry and shipped configuration accompany one available host schema.
Steps
Apply setup twice and then remove a previously shipped recipe from setup.
Expected
The active declarations and recipes persist, the omitted shipped recipe becomes inactive and cross-application views reflect available hosts.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Source
services-platform:modules/workflow-actions/services/registry/ensure-platform-registry.ts:ensurePlatformWorkflowActions
06 Exercise the complete workflow registry entry standingtransitionapinegativeproposed
Proves
BR-CAP-PFM-INT-018-03
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-016-workflow-registry-entry-standing.md#transitions
07 Registry changes constrain recipe savesinteractionapiproposed
Proves
BR-CAP-PFM-INT-018-05 BR-CAP-PFM-INT-019-02
Preconditions
A workspace recipe uses an active action type.
Steps
Retire that type in its owner declaration, inspect builder choices and attempt to save the recipe again.
Expected
The builder omits the retired choice and validation refuses the new save without altering the saved recipe.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists the types configurable at a trigger, the switched-off one left out,services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses a type that is declared and switched off
08 Registry retirement blocks a new publicationinteractionapiproposed
Proves
BR-CAP-PFM-INT-018-05 BR-CAP-PFM-INT-020-03
Preconditions
An automation draft uses an active configurable action.
Steps
Retire the action type, inspect builder choices and attempt publication.
Expected
The type disappears from active choices and the draft remains unpublished after refusal.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists the types configurable at a trigger, the switched-off one left out,services-platform:modules/workflow-actions/tests/integration/services/automation/publish-automation-rule.integration.spec.js#refuses a publisher without the permission an action’s type requires

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.