fix: Address code review feedback

- Added explanation for logger mocking in tests/setup.ts
- Removed test files from coverage collection in jest.config.js
- Updated tests/README.md to clarify coverage approach and remove outdated threshold reference

Co-authored-by: mindesbunister <32161838+mindesbunister@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-05 00:20:11 +00:00
parent 1b6297b1e2
commit 011e489c8b
3 changed files with 15 additions and 12 deletions

View File

@@ -19,7 +19,6 @@ const config = {
setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
collectCoverageFrom: [
'lib/trading/position-manager.ts',
'tests/**/*.ts',
],
coverageReporters: ['text', 'text-summary', 'html'],
verbose: true,

View File

@@ -50,6 +50,8 @@ These tests verify the **logic** of Position Manager functions in isolation:
- Token vs USD conversion requirements
- Price verification requirements
**Note:** Coverage metrics are calculated against `lib/trading/position-manager.ts` but will be low because tests extract and validate logic patterns without importing the file directly. This avoids complex mocking while still validating critical trading logic.
The tests extract and validate the pure calculation logic without importing the actual Position Manager, avoiding complex mocking of:
- Drift blockchain connections
- Pyth price feeds
@@ -208,17 +210,15 @@ npm test -- tests/integration/position-manager/
Tests run automatically in CI with:
- JUnit XML reports for test results
- Coverage reports in HTML and text formats
- Failure threshold of 60% coverage
Configure in `jest.config.js`:
Run tests with coverage report:
```javascript
coverageThreshold: {
global: {
branches: 60,
functions: 60,
lines: 60,
statements: 60,
},
},
```bash
npm run test:coverage
```
Run tests in CI mode with JUnit reporter:
```bash
npm run test:ci
```

View File

@@ -33,6 +33,10 @@ declare global {
}
// Mock logger to reduce noise during tests
// Logger is mocked to:
// 1. Prevent console output during test runs
// 2. Isolate tests from external I/O operations
// 3. Enable verification of logging calls if needed
jest.mock('../lib/utils/logger', () => ({
logger: {
log: jest.fn(),