n8cn / packages /cli /src /execution-lifecycle /shared /__tests__ /shared-hook-functions.test.ts
gallyga's picture
Add n8n Chinese version
aec3094
import { mock } from 'jest-mock-extended';
import type { IRun } from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
import { determineFinalExecutionStatus } from '../shared-hook-functions';
describe('determineFinalExecutionStatus', () => {
describe('When waitTill is not set', () => {
test.each(['canceled', 'crashed', 'error', 'success'])('should return "%s"', (status) => {
const runData = { status, data: {} } as IRun;
expect(determineFinalExecutionStatus(runData)).toBe(status);
});
});
it('should return "error" when resultData.error exists', () => {
const runData = {
status: 'running',
data: {
resultData: {
error: new NodeOperationError(mock(), 'An error occurred'),
},
},
} as IRun;
expect(determineFinalExecutionStatus(runData)).toBe('error');
});
it('should return "waiting" when waitTill is defined', () => {
const runData = {
status: 'running',
data: {},
waitTill: new Date('2022-01-01T00:00:00'),
} as IRun;
expect(determineFinalExecutionStatus(runData)).toBe('waiting');
});
});