2022-05-09 15:33:44 +02:00
|
|
|
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 = {
|
2022-05-12 12:35:07 +02:00
|
|
|
rootDir: '../',
|
2022-05-09 15:33:44 +02:00
|
|
|
// Add more setup options before each test is run
|
2022-05-12 12:35:07 +02:00
|
|
|
setupFilesAfterEnv: ['<rootDir>/.jest/jest.setup.js'],
|
2022-05-09 15:33:44 +02:00
|
|
|
// if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work
|
2022-05-12 12:35:07 +02:00
|
|
|
moduleDirectories: ['node_modules', '<rootDir>/src'],
|
2022-05-09 15:33:44 +02:00
|
|
|
testEnvironment: 'jest-environment-jsdom',
|
|
|
|
moduleNameMapper: {
|
2022-09-23 14:59:13 +02:00
|
|
|
'^.+\\.(svg)$': '<rootDir>/.jest/__mocks__/svgrMock.tsx',
|
2022-05-09 15:33:44 +02:00
|
|
|
// '^@/components/(.*)$': '<rootDir>/components/$1',
|
|
|
|
'@shared(.*)$': '<rootDir>/src/components/@shared/$1',
|
|
|
|
'@hooks/(.*)$': '<rootDir>/src/@hooks/$1',
|
|
|
|
'@context/(.*)$': '<rootDir>/src/@context/$1',
|
|
|
|
'@images/(.*)$': '<rootDir>/src/@images/$1',
|
|
|
|
'@utils/(.*)$': '<rootDir>/src/@utils/$1',
|
|
|
|
'@content/(.*)$': '<rootDir>/@content/$1'
|
|
|
|
},
|
|
|
|
collectCoverage: true,
|
2022-05-12 12:35:07 +02:00
|
|
|
collectCoverageFrom: [
|
|
|
|
'src/**/*.{ts,tsx}',
|
2022-05-16 15:38:48 +02:00
|
|
|
'!src/**/*.{stories,test}.{ts,tsx}',
|
|
|
|
'!src/@types/**/*.{ts,tsx}'
|
2022-05-12 12:35:07 +02:00
|
|
|
],
|
|
|
|
testPathIgnorePatterns: ['node_modules', '\\.cache', '.next', 'coverage']
|
2022-05-09 15:33:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
|
|
module.exports = createJestConfig(customJestConfig)
|