mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-01-30 06:22:04 +00:00
Completes Phase 6B of the integration testing plan by adding comprehensive
tests for the handleAutofixWorkflow MCP handler against a real n8n instance.
## Test Coverage (16 scenarios)
### Preview Mode (2 tests)
- Preview fixes without applying (expression-format)
- Preview multiple fix types
### Apply Mode (2 tests)
- Apply expression-format fixes
- Apply webhook-missing-path fixes
### Fix Type Filtering (2 tests)
- Filter to specific fix types
- Handle multiple fix type filters
### Confidence Threshold (3 tests)
- High confidence threshold filtering
- Medium confidence threshold (high + medium)
- Low confidence threshold (all fixes)
### Max Fixes Parameter (1 test)
- Limit number of fixes via maxFixes parameter
### No Fixes Available (1 test)
- Handle workflows with no fixable issues
### Error Handling (3 tests)
- Non-existent workflow ID
- Invalid fixTypes parameter
- Invalid confidence threshold
### Response Format Verification (2 tests)
- Complete preview mode response structure
- Complete apply mode response structure
## Implementation Details
All tests follow the MCP handler testing pattern established in Phase 1-6A:
- Tests call handleAutofixWorkflow (MCP handler), not raw API client
- Tests verify McpToolResponse format (success, data, error)
- Tests handle both cases: fixes available and no fixes available
- Tests verify actual workflow modifications when applyFixes=true
## Test Results
- All 16 new tests passing
- Total integration tests: 99/99 passing (Phase 1-6 complete)
- Phase 6A (Validation): 12 tests
- Phase 6B (Autofix): 16 tests
## Key Discoveries
The autofix engine handles specific fix types:
- expression-format: Missing = prefix for resource locators (not {{}} wrapping)
- typeversion-correction: Outdated typeVersion values
- error-output-config: Error output configuration issues
- node-type-correction: Incorrect node types
- webhook-missing-path: Missing webhook path parameters
Tests properly handle workflows without fixable issues by checking for
'No automatic fixes available' message.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>