import type { WorkflowTestData } from '@test/nodes/types'; import { executeWorkflow } from '@test/nodes/ExecuteWorkflow'; import * as Helpers from '@test/nodes/Helpers'; describe('GraphQL Node', () => { const mockResponse = { data: { nodes: {}, }, }; const tests: WorkflowTestData[] = [ { description: 'should run Request Format JSON', input: { workflowData: Helpers.readJsonFileSync('nodes/GraphQL/test/workflow.json'), }, output: { nodeExecutionOrder: ['Start'], nodeData: { 'Fetch Request Format JSON': [ [ { json: mockResponse, }, ], ], }, }, nock: { baseUrl: 'https://api.n8n.io', mocks: [ { method: 'post', path: '/graphql', statusCode: 200, responseBody: mockResponse, }, ], }, }, ]; const nodeTypes = Helpers.setup(tests); test.each(tests)('$description', async (testData) => { const { result } = await executeWorkflow(testData, nodeTypes); const resultNodeData = Helpers.getResultNodeData(result, testData); resultNodeData.forEach(({ nodeName, resultData }) => expect(resultData).toEqual(testData.output.nodeData[nodeName]), ); expect(result.finished).toEqual(true); }); });