Skip to content

Commit bfcf392

Browse files
authored
test(workflow): Add integration tests for workflowInfo().lastfailure (#1543)
1 parent faa6422 commit bfcf392

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

packages/test/src/test-integration-workflows.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,23 @@ test('Abandon activity cancel before started works', async (t) => {
11241124
t.pass();
11251125
});
11261126

1127+
export async function WorkflowWillFail(): Promise<string | undefined> {
1128+
if (workflow.workflowInfo().attempt > 1) {
1129+
return workflow.workflowInfo().lastFailure?.message;
1130+
}
1131+
throw ApplicationFailure.retryable('WorkflowWillFail', 'WorkflowWillFail');
1132+
}
1133+
1134+
test("WorkflowInfo().lastFailure contains last run's failure on Workflow Failure", async (t) => {
1135+
const { createWorker, startWorkflow } = helpers(t);
1136+
const worker = await createWorker();
1137+
const handle = await startWorkflow(WorkflowWillFail, { retry: { maximumAttempts: 2 } });
1138+
await worker.runUntil(async () => {
1139+
const lastFailure = await handle.result();
1140+
t.is(lastFailure, 'WorkflowWillFail');
1141+
});
1142+
});
1143+
11271144
export const interceptors: workflow.WorkflowInterceptorsFactory = () => {
11281145
const interceptorsFactoryFunc = module.exports[`${workflow.workflowInfo().workflowType}Interceptors`];
11291146
if (typeof interceptorsFactoryFunc === 'function') {

0 commit comments

Comments
 (0)