n8n/packages/nodes-base/test/nodes/Helpers.ts
2026-03-03 08:29:41 +00:00

33 lines
886 B
TypeScript

import get from 'lodash/get';
import { constructExecutionMetaData } from 'n8n-core';
import type { IDataObject, IExecuteFunctions, IGetNodeParameterOptions, INode } from 'n8n-workflow';
export const createMockExecuteFunction = <T = IExecuteFunctions>(
nodeParameters: IDataObject,
nodeMock: INode,
continueBool = false,
) =>
({
getNodeParameter(
parameterName: string,
_itemIndex: number,
fallbackValue?: IDataObject,
options?: IGetNodeParameterOptions,
) {
const parameter = options?.extractValue ? `${parameterName}.value` : parameterName;
return get(nodeParameters, parameter, fallbackValue);
},
getNode() {
return nodeMock;
},
getWorkflow() {
return { id: 'test-workflow-id', name: 'Test Workflow', active: false };
},
continueOnFail() {
return continueBool;
},
helpers: {
constructExecutionMetaData,
},
}) as unknown as T;