Tests for Application-Facing Workflows
Application-facing workflows use the application message hint to select the relevant route:
{{ $context.$app.$OraMessageHint }}
Keep stage-specific behavior in distinct branches or terminal nodes.
Application Stages
Each application stage uses a specific entry point and requires validation of the corresponding response or behavior. Use the following guidelines to identify the appropriate entry point and validation requirements for each stage:
| Application behavior | Runtime hint | What the test should verify |
|---|---|---|
| Focused panel | AdditionalContent |
Correct OraPanelName branch and
content |
| Communication preparation | FillParameters |
Required editable values are prepared |
| Startup suggestions | InitActions, InitCommunications |
Required suggestion response contract |
| Startup display | InitDisplay |
Correct route and valid oraInfoDisplay
response |
| Dynamic starter queries | InitSampleQueries |
Strict starter-query JSON |
| Application action | InvokeAction |
Action payload selects the intended follow-up |
| Ask Oracle answer | Query |
Appropriate use of user and application context |
| Query filter values | QueryFilterValues |
A JSON array of display strings |
| Communication send or create preparation | SendCommunication |
Body and user-reviewable values are prepared correctly |
Use OraAppDisplayDiscriminator to distinguish between shared
top-level startup panels and OraPanelName to identify the
appropriate AdditionalContent panel. Include only the context
required for the selected application stage.
Strict Response Contracts
InitSampleQueries: Starter-query JSON only; no Markdown fences,oraInfoDisplay, actions, or communications. Return {} when no suggestions are available.QueryFilterValues: A JSON array containing display strings only.SendCommunication: Communication body in content; user-reviewable values such as recipient and subject in params.
Test FillParameters and SendCommunication
separately.
Application Panels and Backing Workflows
- Workflow test: Tests routes, data use, transformations, application stages, and response quality.
- Application panel test: Tests top-level panel-to-workflow connections and returned widget structures.
Complete required backing-workflow coverage before application-panel synchronization. Each testable top-level panel requires startup coverage.
Panel tests validate functional contracts. They don’t click controls or certify browser appearance. Use the following prompts with your coding assistant:
Generate and run tests for <app name> and its backing workflows.Complete
required workflow coverage, validate the top-level panels, and show the
consolidated report.
Tests for Multiturn Conversations, Human Interactions, Waits, and Loops
- Conversation variable: A later route uses an earlier stored value.
- Cached data: Follow-ups reuse data; refresh or clear operations invalidate it appropriately.
- Human decision: The run suspends and resumes after a supported response.
- Scheduled wait: The run resumes through the timeout path.
One conversation counts as one suite case. Its report includes the transcript, per-step route evidence, assertions, judging, replay data, and available metrics. ATLAS preserves exact user-supplied messages.
Human and Wait Support
HUMAN: Approval, rejection, or feedback enabled by a root CHAT workflowWAIT: Timeout continuation without waiting for the configured wall-clock duration
- HUMAN email interactions and APPROVAL_PROCESS aren't covered.
- HUMAN or WAIT inside LOOP, WHILE, PARALLEL, or nested-workflow jobs aren’t covered.
- Application panel tests don’t author these interactions.
- Runtime callback credentials and job identifiers must not be stored in tests.
Loop Coverage
loop-boundary: Downstream consumption of the complete recorded LOOP result. The LOOP body isn’t rerun during file replay.loop-internals: One coherent representative iteration, including internal routes, supported recorded data, semantic nodes, and downstream consumers.
Cover meaningful internal branch outcomes without multiplying every LOOP path by every application stage.