Root Cause:
- SSRF protection added DNS resolution via dns/promises.lookup()
- n8n-api-client.test.ts did not mock DNS module
- Tests failed with "DNS resolution failed" error in CI
Fix:
- Added vi.mock('dns/promises') before imports
- Imported dns module for type safety
- Implemented DNS mock in beforeEach to simulate real behavior:
- localhost → 127.0.0.1
- IP addresses → returned as-is
- Real hostnames → 8.8.8.8 (public IP)
Test Results:
- All 50 n8n-api-client tests now pass ✅
- Type checking passes ✅
- Matches pattern from ssrf-protection.test.ts
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed type errors caused by changing WorkflowListParams.tags from string[] to string:
1. cleanup-helpers.ts: Changed tags: [tag] to tags: tag (line 221)
2. n8n-api-client.test.ts: Changed tags: ['test'] to tags: 'test,production' (line 384)
3. Added unit tests for handleDeleteWorkflow and handleListWorkflows (100% coverage)
All tests pass, lint clean.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed simulateError helper to properly handle async error interceptors
- Made mock implementation async to handle promise rejections correctly
- Enabled all 7 previously skipped error handling tests
- All 666 tests now pass without unhandled promise rejections
This fixes the CI pipeline failure caused by unhandled promise rejections.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>