38 lines
964 B
TypeScript
38 lines
964 B
TypeScript
|
|
import type { Config } from 'jest';
|
||
|
|
import nextJest from 'next/jest.js';
|
||
|
|
|
||
|
|
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 config: Config = {
|
||
|
|
coverageProvider: 'v8',
|
||
|
|
testEnvironment: 'jsdom',
|
||
|
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
||
|
|
moduleNameMapper: {
|
||
|
|
'^@/(.*)$': '<rootDir>/src/$1',
|
||
|
|
},
|
||
|
|
testPathIgnorePatterns: [
|
||
|
|
'<rootDir>/node_modules/',
|
||
|
|
'<rootDir>/.next/',
|
||
|
|
],
|
||
|
|
collectCoverageFrom: [
|
||
|
|
'src/**/*.{js,jsx,ts,tsx}',
|
||
|
|
'!src/**/*.d.ts',
|
||
|
|
'!src/**/*.stories.{js,jsx,ts,tsx}',
|
||
|
|
],
|
||
|
|
coverageThreshold: {
|
||
|
|
global: {
|
||
|
|
branches: 0,
|
||
|
|
functions: 0,
|
||
|
|
lines: 0,
|
||
|
|
statements: 0,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
};
|
||
|
|
|
||
|
|
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
||
|
|
export default createJestConfig(config);
|