diff --git a/src/services/workflow-validator.ts b/src/services/workflow-validator.ts index 948017b..0c2cab0 100644 --- a/src/services/workflow-validator.ts +++ b/src/services/workflow-validator.ts @@ -658,7 +658,7 @@ export class WorkflowValidator { } // Special validation for SplitInBatches node - if (sourceNode && sourceNode.type === 'n8n-nodes-base.splitInBatches') { + if (sourceNode && sourceNode.type === 'nodes-base.splitInBatches') { this.validateSplitInBatchesConnection( sourceNode, outputIndex, @@ -671,7 +671,7 @@ export class WorkflowValidator { // Check for self-referencing connections if (connection.node === sourceName) { // This is only a warning for non-loop nodes - if (sourceNode && sourceNode.type !== 'n8n-nodes-base.splitInBatches') { + if (sourceNode && sourceNode.type !== 'nodes-base.splitInBatches') { result.warnings.push({ type: 'warning', message: `Node "${sourceName}" has a self-referencing connection. This can cause infinite loops.` diff --git a/tests/unit/mcp/handlers-n8n-manager.test.ts b/tests/unit/mcp/handlers-n8n-manager.test.ts index ab96a84..b10382f 100644 --- a/tests/unit/mcp/handlers-n8n-manager.test.ts +++ b/tests/unit/mcp/handlers-n8n-manager.test.ts @@ -230,8 +230,21 @@ describe('handlers-n8n-manager', () => { data: testWorkflow, message: 'Workflow "Test Workflow" created successfully with ID: test-workflow-id', }); - expect(mockApiClient.createWorkflow).toHaveBeenCalledWith(input); - expect(n8nValidation.validateWorkflowStructure).toHaveBeenCalledWith(input); + + const expectedNormalizedInput = { + name: 'Test Workflow', + nodes: [{ + id: 'node1', + name: 'Start', + type: 'nodes-base.start', + typeVersion: 1, + position: [100, 100], + parameters: {}, + }], + connections: testWorkflow.connections, + }; + expect(mockApiClient.createWorkflow).toHaveBeenCalledWith(expectedNormalizedInput); + expect(n8nValidation.validateWorkflowStructure).toHaveBeenCalledWith(expectedNormalizedInput); }); it('should handle validation errors', async () => { diff --git a/tests/unit/services/workflow-validator-comprehensive.test.ts b/tests/unit/services/workflow-validator-comprehensive.test.ts index f4aeb83..57d2eb1 100644 --- a/tests/unit/services/workflow-validator-comprehensive.test.ts +++ b/tests/unit/services/workflow-validator-comprehensive.test.ts @@ -579,7 +579,6 @@ describe('WorkflowValidator - Comprehensive Tests', () => { const result = await validator.validateWorkflow(workflow as any); - expect(mockNodeRepository.getNode).toHaveBeenCalledWith('n8n-nodes-base.webhook'); expect(mockNodeRepository.getNode).toHaveBeenCalledWith('nodes-base.webhook'); }); @@ -599,7 +598,6 @@ describe('WorkflowValidator - Comprehensive Tests', () => { const result = await validator.validateWorkflow(workflow as any); - expect(mockNodeRepository.getNode).toHaveBeenCalledWith('@n8n/n8n-nodes-langchain.agent'); expect(mockNodeRepository.getNode).toHaveBeenCalledWith('nodes-langchain.agent'); });