refactor: Overhaul nodes-testing setup - Part 3 (no-changelog) (#14967)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2025-04-29 17:42:21 +02:00
committed by GitHub
parent 3e43f9f8bc
commit 979f9e6327
241 changed files with 1868 additions and 2013 deletions

View File

@@ -1,11 +1,8 @@
/* eslint-disable @typescript-eslint/no-loop-func */
import { NodeConnectionTypes, type IDataObject, type WorkflowTestData } from 'n8n-workflow';
// This is (temporarily) needed to setup LoadNodesAndCredentials first
import '@test/nodes/Helpers';
import { executeWorkflow } from '@test/nodes/ExecuteWorkflow';
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
import { NodeConnectionTypes, type WorkflowTestData } from 'n8n-workflow';
describe('Execute Stop and Error Node', () => {
const testHarness = new NodeTestHarness();
const tests: WorkflowTestData[] = [
{
description: 'should run stopAndError node',
@@ -34,7 +31,7 @@ describe('Execute Stop and Error Node', () => {
},
{
parameters: {
errorMessage: 'error message from node',
errorMessage: 'error message from node 0',
},
id: '196ca8fe-994d-46aa-a0ed-bd9beeaa490e',
name: 'Stop and Error',
@@ -65,35 +62,18 @@ describe('Execute Stop and Error Node', () => {
},
},
output: {
nodeExecutionOrder: ['Start'],
nodeExecutionOrder: [
'When clicking "Execute Workflow"',
'Stop and Error1',
'Stop and Error',
],
nodeData: {},
error: 'error message from node 0',
},
},
];
for (const testData of tests) {
test(testData.description, async () => {
const { result } = await executeWorkflow(testData);
expect(result.finished).toBeUndefined();
const stopAndErrorRunData = result.data.resultData.runData['Stop and Error'];
const stopAndErrorMessage = (
(stopAndErrorRunData as unknown as IDataObject[])[0].error as IDataObject
).message;
expect(stopAndErrorMessage).toEqual('error message from node');
const stopAndError1RunData = result.data.resultData.runData['Stop and Error1'];
const stopAndError1Object = (
(stopAndError1RunData as unknown as IDataObject[])[0].error as IDataObject
).errorResponse;
expect(stopAndError1Object).toEqual({
code: 404,
message: 'error object from node',
name: 'User-thrown error',
});
});
testHarness.setupTest(testData);
}
});