---
id: TST-PFM-INT-587
title: workflow actions
kind: api-lifecycle
product_area: platform
module: integrations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js
implements:
  - ATS-PFM-INT-018-04
  - ATS-PFM-INT-019-01
  - ATS-PFM-INT-019-07
  - ATS-PFM-INT-020-08
  - ATS-PFM-INT-021-01
  - ATS-PFM-INT-021-04
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Use the suite-owned database fixtures and its declared cleanup; prepare the test database before
  integration or lifecycle execution.
evidence:
  - 'services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js'
test_cases:
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists the
      automation host’s points: the timers of every host, `event`, and the registered event
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#pages the points
      with a cursor and a count
    provenance: test
  - 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
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#answers one type
      with the JSON Schema of its params
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#answers 404 for a
      type no application registers
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a limit
      that is not a number (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists Rhythm’s
      action templates first, each marked shipped
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#creates the
      tenant’s own action template and reads it back
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a
      template whose spec names an unknown type, with every problem (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a
      replacement of one of Rhythm’s (405)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#answers one of
      Rhythm’s workflow templates with its document
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a caller
      without templates-manage a write (403)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#creates a default
      calendar and answers it in the library’s shape by id
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#replaces it at
      its version, clearing its hours to null
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a time
      zone that is not one (400), naming the field
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses more than
      400 holidays (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#creates it as a
      draft, owned by its event’s application
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#saves the draft
      in place
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#publishes it,
      enabled, with the version as its current one
    provenance: test
  - source: 'services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#disables it'
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#lists its one
      version
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a publish
      of an event no application registers, naming the problem (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a reader
      the publish (403)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a status
      the list does not know (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#answers the
      tenant’s runs as a page, empty while no host publishes a view
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#answers the
      tenant’s timers as a page
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a window
      bound that is not an instant (400)
    provenance: test
  - source: >-
      services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js#refuses a caller
      without runs-read (403)
    provenance: test
dependency_evidence:
  provenance: test
  source: 'services-platform:modules/workflow-actions/tests/e2e/workflow-actions.e2e.spec.js'
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# workflow actions

## Verification Boundary

This database and service suite exercises workflow actions. Its registration records the executable definition; no run result is asserted.

## What This Suite Proves

The bindings identify the detailed outcomes asserted by this suite. Test-level evidence retains the individual checks, including cases where several suites contribute to one scenario.

## What It Does Not Prove

In-process execution does not establish deployed infrastructure or a real provider response. Several bindings can supply different parts of a detailed scenario; no single-file completeness is implied.

## Real Dependencies and Test Doubles

The suite definition identifies its database fixtures and replaced clients, hooks, clocks or executors. Integration runs use the prepared database; lifecycle runs exercise the in-process route or adapter path.

## Must Not Be Doubled

The database constraints, transactions and service behavior claimed by an integration binding must execute. Replaced external seams cannot establish live provider or infrastructure behavior.
