module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['/tests'], testMatch: [ '**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts' ], transform: { '^.+\\.ts$': 'ts-jest' }, collectCoverageFrom: [ 'src/**/*.ts', '!src/**/*.d.ts', '!src/index.ts' ], coverageDirectory: 'coverage', coverageReporters: [ 'text', 'lcov', 'html' ], setupFilesAfterEnv: ['/tests/setup.ts'], testTimeout: 30000, verbose: true, clearMocks: true, restoreMocks: true, moduleNameMapping: { '^@/(.*)$': '/src/$1', '^@/models/(.*)$': '/src/models/$1', '^@/services/(.*)$': '/src/services/$1', '^@/strategies/(.*)$': '/src/strategies/$1', '^@/utils/(.*)$': '/src/utils/$1', '^@/api/(.*)$': '/src/api/$1', '^@/middleware/(.*)$': '/src/middleware/$1', '^@/integrations/(.*)$': '/src/integrations/$1' } };