File size: 1,829 Bytes
aec3094 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import type { INodeType } from 'n8n-workflow';
import { shouldAssignExecuteMethod } from '../utils';
describe('shouldAssignExecuteMethod', () => {
it('should return true when node has no execute, poll, trigger, webhook (unless declarative), or methods', () => {
const nodeType = {
description: { requestDefaults: {} }, // Declarative node
execute: undefined,
poll: undefined,
trigger: undefined,
webhook: undefined,
methods: undefined,
} as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(true);
});
it('should return false when node has execute', () => {
const nodeType = {
execute: jest.fn(),
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(false);
});
it('should return false when node has poll', () => {
const nodeType = {
poll: jest.fn(),
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(false);
});
it('should return false when node has trigger', () => {
const nodeType = {
trigger: jest.fn(),
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(false);
});
it('should return false when node has webhook and is not declarative', () => {
const nodeType = {
description: {},
webhook: jest.fn(),
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(false);
});
it('should return true when node has webhook but is declarative', () => {
const nodeType = {
description: { requestDefaults: {} }, // Declarative node
webhook: jest.fn(),
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(true);
});
it('should return false when node has methods', () => {
const nodeType = {
methods: {},
} as unknown as INodeType;
expect(shouldAssignExecuteMethod(nodeType)).toBe(false);
});
});
|