Skip to content

FAS-PFM-INT-06Workflow configuration and automation acceptance

Markdown

FAS-PFM-INT-06

Workflow configuration and automation acceptance

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaPlatformModuleIntegration access, customer extensions and shared workflow configurationRevision2

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

Scenarios

5 scenarios proving FEAT-PFM-INT-06 as a whole.

01 Shared configuration produces valid published automation behaviour proposed
Exercises
CAP-PFM-INT-018 CAP-PFM-INT-019 CAP-PFM-INT-020 CAP-PFM-INT-021 CAP-PFM-INT-022
Relies on
ATS-PFM-INT-018-04 ATS-PFM-INT-021-02 ATS-PFM-INT-020-03 ATS-PFM-INT-022-03
Preconditions
A registered event has configurable actions, a customer recipe and a business calendar.
Steps
Inspect builder choices, copy a valid recipe, calculate a business deadline and publish its automation.
Expected
The publication uses registry-valid copied actions and the deadline follows the selected working calendar.
Data
Run-owned declarations, records and role fixtures 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,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,macroservice-libraries:packages/workflow-actions/src/business-days.spec.ts#P2D business from a Friday 16:00 with a Monday holiday lands on Wednesday 16:00, across the DST change (08 §10 case 8)
02 Retired actions block new recipe use and publication interaction proposed
Exercises
CAP-PFM-INT-018 CAP-PFM-INT-020 CAP-PFM-INT-021
Relies on
ATS-PFM-INT-018-03 ATS-PFM-INT-021-02 ATS-PFM-INT-020-03
Preconditions
A draft and a customer recipe use one active action type.
Steps
Retire that type through registration, inspect builder choices and attempt a recipe save and draft publication.
Expected
Both writes refuse without altering the stored recipe or publishing the draft.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/workflow-actions/tests/integration/services/registry/register-manifest.integration.spec.js#retires what is absent, and answers its keys,services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses a type that is declared and switched off,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
03 Configuration history outlives subsequent edits lifecycle proposed
Exercises
CAP-PFM-INT-020 CAP-PFM-INT-021 CAP-PFM-INT-022
Relies on
ATS-PFM-INT-020-02 ATS-PFM-INT-020-05 ATS-PFM-INT-021-03 ATS-PFM-INT-022-02
Preconditions
A published rule uses copied recipe settings and a seeded calendar has calculated a timer.
Steps
Edit the recipe and calendar, open a new rule draft, disable and retire the rule.
Expected
Published settings and the old timer retain their values while a new draft and new calculations use explicit edits.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/workflow-actions/tests/integration/db/workflow-actions-tables.integration.spec.js#refuses a second draft of one rule,services-platform:modules/workflow-actions/tests/integration/services/persistence/automation-rules.integration.spec.js#refuses to delete a published rule, which is retired instead (409),services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses an id in Rhythm’s own prefix, which the configuration-id grammar reserves (400),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
04 Registry inspection does not grant configuration effects permissionnegative proposed
Exercises
CAP-PFM-INT-018 CAP-PFM-INT-020 CAP-PFM-INT-021 CAP-PFM-INT-022
Relies on
ATS-PFM-INT-018-01 ATS-PFM-INT-020-08 ATS-PFM-INT-021-04 ATS-PFM-INT-022-04
Preconditions
An application registrant, registry reader and distinct recipe, calendar and automation managers are available.
Steps
Attempt foreign registration and each configuration mutation with a reader, then exercise the appropriate managers.
Expected
Unauthorized writes preserve existing records and authority remains separate for each configuration concern.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/workflow-actions/tests/e2e/workflow-actions-registry.e2e.spec.js#answers 403 to another application’s principal registering CRM,services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a reader the publish (403),services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a caller without templates-manage a write (403),services-platform:modules/workflow-actions/aws/api/workflow-actions.routes.ts:workflowActionsRoutes
05 A retired declaration cannot publish through a saved recipe regressionnegative proposed
Exercises
CAP-PFM-INT-018 CAP-PFM-INT-020 CAP-PFM-INT-021
Relies on
ATS-PFM-INT-018-04 ATS-PFM-INT-020-03 ATS-PFM-INT-021-02
Preconditions
An automation draft contains actions copied while their type was active.
Steps
Retire the type and attempt publication without replacing its actions.
Expected
Current registry validation refuses publication despite the earlier valid recipe save.
Data
Run-owned declarations, records and role fixtures 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,services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses a type that is declared and switched off

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.