module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['/tests', '/src'], testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'], transform: { '^.+\\.ts$': 'ts-jest', }, moduleNameMapper: { '^@/(.*)$': '/src/$1', }, collectCoverageFrom: [ 'src/**/*.ts', '!src/**/*.d.ts', '!src/**/*.test.ts', '!src/**/*.spec.ts', '!src/database/migrate.ts', '!src/database/seed.ts', ], coverageDirectory: 'coverage', coverageReporters: ['text', 'lcov', 'html'], testTimeout: 30000, setupFilesAfterEnv: ['/tests/setup.ts'], // Load .env.test if it exists setupFiles: ['/tests/load-env.ts'], };