Skip to content

ATS-PFM-INT-019Reuse workflow recipes and working-time configuration: Capability Test Specification

Markdown

ATS-PFM-INT-019

Reuse workflow recipes and working-time configuration: Capability Test Specification

Markdown
  • DocumentSuperseded

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 covered
  • Failure gap: FND-PFM-INT-088
  • Boundary covered
  • Concurrency covered
  • Invariant gap: FND-PFM-INT-088
  • Interaction covered

Test Scenarios

9 scenarios proving CAP-PFM-INT-019; 7 bound to an existing test.

01 Shipped recipes refuse customer changesruleapinegativetest
Proves
BR-CAP-PFM-INT-019-01
Preconditions
The shipped recipe collection is available.
Steps
List action recipes and attempt replacement and deletion of a shipped entry.
Expected
Shipped entries appear first and identified; both mutations refuse.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses a replacement of one (405)
02 Recipe contents must be configurable nowvalidationapinegativetest
Proves
BR-CAP-PFM-INT-019-02
Preconditions
Registry types include retired, inactive and host-restricted actions.
Steps
Save recipes using those types, invalid settings and a workflow stage pointing to an absent stage, then a valid recipe.
Expected
Each invalid recipe reports its problem and only the valid recipe saves.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/integration/services/persistence/action-templates.integration.spec.js#refuses a type that is declared and switched off
03 Recipe identity and versions prevent ambiguityconcurrencyapinegativetest
Proves
BR-CAP-PFM-INT-019-03
Preconditions
A workspace already has a recipe.
Steps
Reuse its identifier, use the reserved prefix and replace using a stale version.
Expected
Every attempt is refused.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
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)
04 Calendar validation preserves the single-default choicevalidationapinegativetest
Proves
BR-CAP-PFM-INT-019-05
Preconditions
A workspace already has a default.
Steps
Create invalid zones, empty weekdays, reversed hours and four hundred and one holidays, then a valid new default.
Expected
Invalid calendars refuse; the accepted default clears the previous flag.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
services-platform:modules/workflow-actions/tests/integration/services/persistence/business-calendars.integration.spec.js#refuses more than 400 holidays
05 Provisioning seeds the working week oncetransitionapitest
Proves
BR-CAP-PFM-INT-019-06
Preconditions
A workspace has not yet received defaults.
Steps
Provision, remove Standard week and provision again.
Expected
The initial seed is default and its later user deletion does not cause recreation.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
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
06 Business arithmetic follows local working timeedgeunittest
Proves
BR-CAP-PFM-INT-019-07
Preconditions
A Monday-to-Friday calendar has a Monday holiday and nine-to-five hours.
Steps
Add two business days to Friday at four and four business hours from three.
Expected
The results are Wednesday at four and the next working day at eleven, respectively.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Bound to
Source
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)
07 Configuration mutation requires the matching authoritypermissionapinegativetest
Proves
BR-CAP-PFM-INT-019-09
Preconditions
A caller has registry read alone.
Steps
Attempt creation of an action recipe and a calendar.
Expected
Both operations deny access.
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#refuses a caller without templates-manage a write (403)
08 Calendar limits and locks preserve existing stateboundaryapinegativeproposed
Proves
BR-CAP-PFM-INT-019-10
Preconditions
The workspace holds one hundred calendars, an old copy, locked entries and one unlocked default.
Steps
Exceed the count, replace the old copy, mutate locked entries and delete the unlocked default.
Expected
Count, concurrency and lock violations preserve records and default; permitted default deletion leaves no default.
Data
Fixtures establishing the stated accounts, declarations and history in an isolated workspace.
Source
services-platform:modules/workflow-actions/services/persistence/business-calendars.ts:createBusinessCalendar
09 Recipe edits leave a published automation unchangedinteractionapiproposed
Proves
BR-CAP-PFM-INT-019-04 BR-CAP-PFM-INT-020-04
Preconditions
A rule publishes actions copied from a customer recipe.
Steps
Edit the recipe, inspect the published version and raise its event.
Expected
Published content and raised work keep the copied actions until an explicit new version is published.
Data
Run-owned records and principals in an isolated workspace.
Source
services-platform:docs/workflow-actions/README.md#Workflow actions: Platform's part of the Workflow Action Engine,services-platform:modules/workflow-actions/tests/integration/db/workflow-actions-tables.integration.spec.js#refuses a change to a published version’s actions

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.