diff --git a/packages/cli/src/executions/__tests__/execution-recovery.service.test.ts b/packages/cli/src/executions/__tests__/execution-recovery.service.test.ts index 36597bfe9854e..6c18d12788dc9 100644 --- a/packages/cli/src/executions/__tests__/execution-recovery.service.test.ts +++ b/packages/cli/src/executions/__tests__/execution-recovery.service.test.ts @@ -347,6 +347,28 @@ describe('ExecutionRecoveryService', () => { }); describe('if leader, with 1+ messages', () => { + test('should return `null` if execution succeeded', async () => { + /** + * Arrange + */ + const workflow = await createWorkflow(); + const execution = await createExecution({ status: 'success' }, workflow); + const messages = setupMessages(execution.id, 'Some workflow'); + + /** + * Act + */ + const amendedExecution = await executionRecoveryService.recoverFromLogs( + execution.id, + messages, + ); + + /** + * Assert + */ + expect(amendedExecution).toBeNull(); + }); + test('should return `null` if no execution found', async () => { /** * Arrange diff --git a/packages/cli/src/executions/execution-recovery.service.ts b/packages/cli/src/executions/execution-recovery.service.ts index a6ea90e55e274..26441bd4e1eba 100644 --- a/packages/cli/src/executions/execution-recovery.service.ts +++ b/packages/cli/src/executions/execution-recovery.service.ts @@ -175,7 +175,7 @@ export class ExecutionRecoveryService { unflattenData: true, }); - if (!execution) return null; + if (!execution || execution.status === 'success') return null; const runExecutionData = execution.data ?? { resultData: { runData: {} } };