Commit Graph

13 Commits

Author SHA1 Message Date
czlonkowski
fb4fdcdfe7 fix: resolve remaining CI failures - mock test and gh-pages branch
- Fixed n8n-nodes-base mock test by properly handling mocked function overrides
- Added automatic gh-pages branch creation in benchmark workflow
- Ensured benchmark workflow handles first run without existing gh-pages
- Fixed deploy job to handle missing branch gracefully

All CI workflows should now pass successfully.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 23:33:38 +02:00
czlonkowski
b5210e5963 feat: add comprehensive performance benchmark tracking system
- Create benchmark test suites for critical operations:
  - Node loading performance
  - Database query performance
  - Search operations performance
  - Validation performance
  - MCP tool execution performance

- Add GitHub Actions workflow for benchmark tracking:
  - Runs on push to main and PRs
  - Uses github-action-benchmark for historical tracking
  - Comments on PRs with performance results
  - Alerts on >10% performance regressions
  - Stores results in GitHub Pages

- Create benchmark infrastructure:
  - Custom Vitest benchmark configuration
  - JSON reporter for CI results
  - Result formatter for github-action-benchmark
  - Performance threshold documentation

- Add supporting utilities:
  - SQLiteStorageService for benchmark database setup
  - MCPEngine wrapper for testing MCP tools
  - Test factories for generating benchmark data
  - Enhanced NodeRepository with benchmark methods

- Document benchmark system:
  - Comprehensive benchmark guide in docs/BENCHMARKS.md
  - Performance thresholds in .github/BENCHMARK_THRESHOLDS.md
  - README for benchmarks directory
  - Integration with existing test suite

The benchmark system will help monitor performance over time and catch regressions before they reach production.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 22:45:09 +02:00
czlonkowski
41c6a29b08 fix: resolve TypeScript errors in test files
- Add type assertions for factory options arrays
- Add 'this' type annotations to mock functions
- Fix missing required properties in test objects
- Change Mock to MockInstance for Vitest compatibility
- Add non-null assertions where needed

All 943 tests now passing
2025-07-28 20:28:45 +02:00
czlonkowski
d870d0ab71 test: add comprehensive unit tests for database, parsers, loaders, and MCP tools
- Database layer tests (32 tests):
  - node-repository.ts: 100% coverage
  - template-repository.ts: 80.31% coverage
  - database-adapter.ts: interface compliance tests

- Parser tests (99 tests):
  - node-parser.ts: 93.10% coverage
  - property-extractor.ts: 95.18% coverage
  - simple-parser.ts: 91.26% coverage
  - Fixed parser bugs for version extraction

- Loader tests (22 tests):
  - node-loader.ts: comprehensive mocking tests

- MCP tools tests (85 tests):
  - tools.ts: 100% coverage
  - tools-documentation.ts: 100% coverage
  - docs-mapper.ts: 100% coverage

Total: 943 tests passing across 32 test files
Significant progress from 2.45% to ~30% overall coverage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 20:16:38 +02:00
czlonkowski
48219fb860 fix: resolve TypeScript errors in MCP handler tests
- Fix N8nRateLimitError constructor call (takes only retryAfter parameter)
- Fix optional chaining for result.details access
- Mock NodeRepository correctly instead of trying to instantiate it

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 18:36:47 +02:00
czlonkowski
5cca09d462 test: add comprehensive unit tests for MCP handlers
- Add tests for handlers-n8n-manager.ts (22 tests)
  - Test singleton API client behavior
  - Test all workflow management handlers
  - Test execution management handlers
  - Test system handlers (health check, diagnostic)
  - Comprehensive error handling coverage

- Add tests for handlers-workflow-diff.ts (17 tests)
  - Test partial workflow updates
  - Test validation-only mode
  - Test all operation types
  - Test error scenarios

All tests passing with good coverage of handler logic

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 18:31:56 +02:00
czlonkowski
2b54710fda test: add unit tests for n8n manager and workflow diff handlers 2025-07-28 18:15:21 +02:00
czlonkowski
a37054685f fix: resolve unhandled promise rejection in n8n-api-client tests
- 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>
2025-07-28 17:17:01 +02:00
czlonkowski
8e8771b1f4 test: implement critical service tests achieving 80%+ coverage
Phase 3.5 - Added comprehensive tests for critical services:

- n8n-api-client: 0% → 83.87% coverage (50 tests)
  - All CRUD operations tested
  - Retry logic and error handling
  - Authentication and interceptors
  - 7 tests skipped due to flaky promise rejection (needs fix)

- workflow-diff-engine: 0% → 90.06% coverage (44 tests)
  - All diff operations tested
  - Two-pass processing verified
  - Workflow immutability ensured
  - Edge cases covered

- n8n-validation: 0% → comprehensive coverage (68 tests)
  - Zod schema validation
  - Workflow structure validation
  - Helper functions tested
  - Fixed credential schema bug

- node-specific-validators: 2.1% → 98.7% coverage (143 tests)
  - All major node types tested
  - Operation-specific validation
  - Security checks verified
  - Auto-fix suggestions tested

- enhanced-config-validator: 71.42% → 94.55% coverage (+20 tests)
  - Operation-specific paths covered
  - Profile filters tested
  - Error handling enhanced
  - Next steps generation tested

Overall: 659 tests passing, 7 skipped
Code review identified areas for improvement including flaky test fixes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 15:52:57 +02:00
czlonkowski
dc8f215209 test: add comprehensive WorkflowValidator tests (97.59% coverage)
- Create comprehensive test suite with 69 tests for WorkflowValidator
- Increase coverage from 2.32% to 97.59%
- Fix bugs in WorkflowValidator:
  - Add null checks for workflow.nodes before accessing length
  - Fix checkNodeErrorHandling to process each node individually
  - Fix disabled node validation logic
  - Ensure error-prone nodes generate proper warnings
- Test all major methods and edge cases:
  - validateWorkflow with different options
  - validateAllNodes with various node types
  - validateConnections including cycles and orphans
  - validateExpressions with complex expressions
  - checkWorkflowPatterns for best practices
  - checkNodeErrorHandling for error configurations
  - generateSuggestions for helpful tips

All 69 tests now passing with excellent coverage.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 14:53:22 +02:00
czlonkowski
b49043171e test: Phase 3 - Create comprehensive unit tests for services
- Add unit tests for ConfigValidator with 44 test cases (95.21% coverage)
- Create test templates for 7 major services:
  - PropertyFilter (23 tests)
  - ExampleGenerator (35 tests)
  - TaskTemplates (36 tests)
  - PropertyDependencies (21 tests)
  - EnhancedConfigValidator (8 tests)
  - ExpressionValidator (11 tests)
  - WorkflowValidator (9 tests)
- Fix service implementations to handle edge cases discovered during testing
- Add comprehensive testing documentation:
  - Phase 3 testing plan with priorities and timeline
  - Context documentation for quick implementation
  - Mocking strategy for complex dependencies
- All 262 tests now passing (up from 75)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 14:15:09 +02:00
czlonkowski
45b271c860 fix: resolve TypeScript and linting errors in test infrastructure
- Add @types/better-sqlite3 dependency
- Remove duplicate database mock file
- Fix property spread order in workflow builder to prevent overwrites
- All 75 tests now pass with no linting errors

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 13:26:00 +02:00
czlonkowski
17013d8a25 test: Phase 2 - Create test infrastructure
- Create comprehensive test directory structure
- Implement better-sqlite3 mock for Vitest
- Add node factory using fishery for test data generation
- Create workflow builder with fluent API
- Add infrastructure validation tests
- Update testing checklist to reflect progress

All Phase 2 tasks completed successfully with 7 tests passing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 13:21:56 +02:00