Creating test cases

A test case defines, node by node, how a workflow should execute during a test — for real or with mocked values — and what counts as a pass. You can build test cases by hand or auto-generate them with AI; either way they appear in the test case list described in the Automated Testing overview.

Actual vs. mock execution

For each node in the workflow, the test case decides between two execution types:

  • Actual — the node runs exactly as it would in the live workflow. Use this for end-to-end testing.
  • Mock — the node doesn't really execute; you define dummy input/output values instead. No notifications are sent for a mocked node.

Mock configuration by node type

Each node type has its own mock configuration and its own default execution type:

NodeMock configurationDefault
Manual triggerNot applicableActual
Trigger SyncNot applicable—
Initiator InputPick the initiator from the list of bot users; the form is rendered exactly as the end user sees it, and all its validations applyMock
ActionSet the status (success or failed) and the output (code editor, pre-filled with the current output value of the test run)Actual
ApprovalPick the approver(s) from the list of bot users and set the approval status (Approved or Rejected); the form is rendered as the end user sees it with all validations.Actual
Async callbackSet the status. If failed, choose whether to bypass the timeout (default: No). If success, provide at least one of: Body/Output (code editor, pre-filled with the current output value of the test run), Query string (key/value pairs), Headers (key/value pairs)Actual
DecisionNot applicable—
DelaySet the delay valueActual
FunctionSet the output, pre-filled with the current output value of the test runActual
InputPick the submitting user from the list of bot users; the form is rendered as the end user sees it, and all its validations applyActual
Synchronous BlockNot applicable—
UpdateNot applicable—
PurgeNo additional configuration; data is not purged when the node executes as mockMock
Branch / Merge / MapperNot applicable—
End Node (Default) / End Flow (Custom)Not applicable—

Defining success criteria

Success criteria determine whether a test run passes. Three categories are available:

CategoryDescriptionDefault
Execution statusMulti-select dropdown of expected workflow outcomes: Success, Failed, Withdrawn, RejectedSuccess
Node execution statusA field array of node + expected status pairs. Statuses: Skipped, Executed with any status, Executed with success status, Executed with failure status, Executed with approved status, Executed with auto-approved status, Executed with rejected status, CancelledBlank
CustomA condition builder where you select values from the Data Center, with support for start and end node dataBlank

Errors in a test case

  • If a mandatory mock value is missing, an error is shown on that node.
  • If at least one node has an error, the whole test case moves to Error status.
  • While a test case is in Error status, each configuration screen shows the errors that belong to that screen, and Save & Continue is blocked — you can keep moving through the configuration and fix errors screen by screen.

Auto-generating test cases with AI

Instead of building every test case by hand, click the auto-generate CTA in the testing section and provide:

  1. Suggest prompt (text) — Suggests the prompt based on the Workflow.
  2. Document (file upload) — a BRD, SOW, or similar document, used to check coverage.

After you submit, the generated test cases are added to the test case list for you to validate and to provide mock values where they weren't auto-generated.

⚠️

Things to know

  • Mocked nodes send no notifications, so no real user is pinged during a test.
  • A mocked Purge node does not actually purge data.
  • AI-generated test cases should be reviewed before running — validate the scenario and fill in any mock values that weren't generated.

Did this page help you?