Files
n8n-enterprise-unlocked/packages/workflow/test/metadata-utils.test.ts
कारतोफ्फेलस्क्रिप्ट™ 3a2a70f193 chore: Enfore consistent file-name casing on all backend packages (#15755)
2025-05-27 16:45:50 +02:00

50 lines
1.6 KiB
TypeScript

import { parseErrorMetadata } from '@/metadata-utils';
describe('MetadataUtils', () => {
describe('parseMetadataFromError', () => {
const expectedMetadata = {
subExecution: {
executionId: '123',
workflowId: '456',
},
subExecutionsCount: 1,
};
it('should return undefined if error does not have response or both keys on the object', () => {
const error = { message: 'An error occurred' };
const result = parseErrorMetadata(error);
expect(result).toBeUndefined();
});
it('should return undefined if errorResponse only has workflowId key', () => {
const error = { errorResponse: { executionId: '123' } };
const result = parseErrorMetadata(error);
expect(result).toBeUndefined();
});
it('should return undefined if error only has executionId key', () => {
const error = { executionId: '123' };
const result = parseErrorMetadata(error);
expect(result).toBeUndefined();
});
it('should support executionId and workflowId key directly on the error object', () => {
const error = { executionId: '123', workflowId: '456' };
const result = parseErrorMetadata(error);
expect(result).toEqual(expectedMetadata);
});
it('should return undefined if error response does not have subworkflow data', () => {
const error = { errorResponse: { someKey: 'someValue' } };
const result = parseErrorMetadata(error);
expect(result).toBeUndefined();
});
it('should return metadata if error response has subworkflow data', () => {
const error = { errorResponse: { executionId: '123', workflowId: '456' } };
const result = parseErrorMetadata(error);
expect(result).toEqual(expectedMetadata);
});
});
});