Archon/jest.config.js
Wirasm ca6a5b2dd5
chore: Improve unit test coverage (#3)
* docs: add PRP for improving test coverage

- Create comprehensive PRP documenting test infrastructure improvements
- Add coverage directory to .gitignore
- Plan covers 6 phases: infrastructure, utilities, database, adapters, orchestrator, CI/CD
- Target: increase coverage from 15.98% to 80%+

* test: add comprehensive unit test coverage

- Add test infrastructure: setup.ts, mock utilities for database, platform, and streaming
- Add tests for all database modules (conversations, codebases, sessions)
- Add tests for test adapter, client factory, orchestrator
- Expand Claude and Codex client tests with full mock coverage
- Add tool-formatter tests
- Configure Jest with coverage thresholds (30% branches, 40% functions/lines/statements)
- Add CI workflow for automated testing on push/PR
- Add test:coverage and test:ci npm scripts

Coverage: 170 tests passing, 53% lines, 48% branches, 65% functions

Co-Authored-By: Claude <[email protected]>

* chore: improve test coverage and fix type issues

- Fix type annotations across multiple files
- Improve test mocks for streaming and database operations
- Update jest config for better coverage reporting
- Fix minor type issues in orchestrator, sessions, and adapters
- Update documentation for architecture and cloud deployment

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>

---------

Co-authored-by: Claude <[email protected]>
2025-12-01 11:31:00 +02:00

19 lines
558 B
JavaScript

module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
setupFilesAfterEnv: ['<rootDir>/src/test/setup.ts'],
collectCoverageFrom: ['src/**/*.ts', '!src/**/*.test.ts', '!src/index.ts', '!src/test/**/*.ts'],
coverageDirectory: 'coverage',
coverageReporters: ['text', 'lcov', 'html', 'json-summary'],
coverageThreshold: {
global: {
branches: 30,
functions: 40,
lines: 40,
statements: 40,
},
},
verbose: true,
transformIgnorePatterns: ['node_modules/(?!(@octokit)/)'],
};