409e92d6ae
Build and Push Docker Images / Build Docker Image (push) Has been cancelled
Build and Push Docker Images / Build Railway Docker Image (push) Has been cancelled
Build and Publish n8n Docker Image / test-image (push) Has been cancelled
Dependency Compatibility Check / Fresh Install Dependency Check (push) Has been cancelled
Build and Publish n8n Docker Image / build-and-push (push) Has been cancelled
Build and Publish n8n Docker Image / create-release (push) Has been cancelled
Automated Release / Detect Version Change (push) Has been cancelled
Automated Release / Generate Release Notes (push) Has been cancelled
Automated Release / Create GitHub Release (push) Has been cancelled
Automated Release / Package MCPB Bundle (push) Has been cancelled
Automated Release / Build and Verify (push) Has been cancelled
Automated Release / Publish to NPM (push) Has been cancelled
Automated Release / Build and Push Docker Images (push) Has been cancelled
Automated Release / Update Documentation (push) Has been cancelled
Automated Release / Notify Release Completion (push) Has been cancelled
Secret Scan / secretlint (push) Has been cancelled
Test Suite / test (push) Has been cancelled
Test Suite / cjs-runtime (push) Has been cancelled
Test Suite / publish-results (push) Has been cancelled
Database Layer Unit Tests
This directory contains comprehensive unit tests for the database layer components of n8n-mcp.
Test Coverage
node-repository.ts - 100% Coverage ✅
saveNodemethod with JSON serializationgetNodemethod with JSON deserializationgetAIToolsmethodsafeJsonParseprivate method- Edge cases: large JSON, boolean conversion, invalid JSON handling
template-repository.ts - 80.31% Coverage ✅
- FTS5 initialization and fallback
saveTemplatewith sanitizationgetTemplateandgetTemplatesByNodessearchTemplateswith FTS5 and LIKE fallbackgetTemplatesForTaskwith task mapping- Template statistics and maintenance operations
- Uncovered: Some error paths in FTS5 operations
database-adapter.ts - Tested via Mocks
- Interface compliance tests
- PreparedStatement implementation
- Transaction support
- FTS5 detection logic
- Error handling patterns
Test Strategy
The tests use a mock-based approach to:
- Isolate database operations from actual database dependencies
- Test business logic without requiring real SQLite/sql.js
- Ensure consistent test execution across environments
- Focus on behavior rather than implementation details
Key Test Files
node-repository-core.test.ts- Core NodeRepository functionalitytemplate-repository-core.test.ts- Core TemplateRepository functionalitydatabase-adapter-unit.test.ts- DatabaseAdapter interface and patterns
Running Tests
# Run all database tests
npm test -- tests/unit/database/
# Run with coverage
npm run test:coverage -- tests/unit/database/
# Run specific test file
npm test -- tests/unit/database/node-repository-core.test.ts
Mock Infrastructure
The tests use custom mock implementations:
MockDatabaseAdapter- Simulates database operationsMockPreparedStatement- Simulates SQL statement execution- Mock logger and template sanitizer for external dependencies
This approach ensures tests are fast, reliable, and maintainable.