module.exports = { projects: [ { displayName: 'unit', testEnvironment: 'node', testMatch: ['**/tests/unit/**/*.test.js'], setupFilesAfterEnv: ['/tests/setup.js'], testTimeout: 10000, }, { displayName: 'integration', testEnvironment: 'node', testMatch: ['**/tests/integration/**/*.test.js'], setupFilesAfterEnv: ['/tests/integration-setup.js'], testTimeout: 30000, }, ], // Run tests sequentially to avoid module cache conflicts between unit and integration tests maxWorkers: 1, coverageDirectory: 'coverage', collectCoverageFrom: [ '**/*.js', '!**/node_modules/**', '!**/coverage/**', '!**/tests/**', '!jest.config.js' ], coverageReporters: ['text', 'lcov', 'html'], coverageThreshold: { global: { lines: 80, statements: 80 } } };