Files
moyosapp_beta.0.0.3/jest.config.js
2026-01-15 16:19:14 +02:00

60 lines
1.6 KiB
JavaScript

const nextJest = require('next/jest')
const createJestConfig = nextJest({
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
dir: './',
})
// Add any custom config to be passed to Jest
const customJestConfig = {
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
testEnvironment: 'jest-environment-jsdom',
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
testMatch: [
'**/__tests__/**/*.[jt]s?(x)',
'**/?(*.)+(spec|test).[jt]s?(x)',
],
collectCoverageFrom: [
'src/**/*.{js,jsx,ts,tsx}',
'!src/**/*.d.ts',
'!src/**/*.stories.{js,jsx,ts,tsx}',
'!src/**/__tests__/**',
],
coverageThreshold: {
global: {
branches: 60, // Start lower, increase as tests are added
functions: 60,
lines: 60,
statements: 60,
},
// Higher thresholds for critical utilities
'src/lib/sanitize.ts': {
branches: 100,
functions: 100,
lines: 100,
statements: 100,
},
'src/lib/csrf.ts': {
branches: 100,
functions: 100,
lines: 100,
statements: 100,
},
'src/lib/rate-limit.ts': {
branches: 100,
functions: 100,
lines: 100,
statements: 100,
},
},
coverageReporters: ['text', 'lcov', 'html', 'json', 'json-summary'],
collectCoverage: false, // Set to true when running coverage
coverageDirectory: '<rootDir>/coverage',
}
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
module.exports = createJestConfig(customJestConfig)