The jest.config.js was missing hooks/, contexts/, and lib/ directories from collectCoverageFrom, causing 0% coverage to be reported for these files in SonarQube. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 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 = {
|
|
// Add more setup options before each test is run
|
|
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
|
testEnvironment: 'jest-environment-jsdom',
|
|
moduleNameMapper: {
|
|
// Handle module aliases (this will be automatically configured for you soon)
|
|
'^@/(.*)$': '<rootDir>/$1',
|
|
},
|
|
testMatch: [
|
|
'**/__tests__/**/*.[jt]s?(x)',
|
|
'**/?(*.)+(spec|test).[jt]s?(x)',
|
|
],
|
|
collectCoverageFrom: [
|
|
'app/**/*.{js,jsx,ts,tsx}',
|
|
'components/**/*.{js,jsx,ts,tsx}',
|
|
'hooks/**/*.{js,jsx,ts,tsx}',
|
|
'services/**/*.{js,jsx,ts,tsx}',
|
|
'utils/**/*.{js,jsx,ts,tsx}',
|
|
'contexts/**/*.{js,jsx,ts,tsx}',
|
|
'lib/**/*.{js,jsx,ts,tsx}',
|
|
'!**/*.d.ts',
|
|
'!**/node_modules/**',
|
|
'!**/.next/**',
|
|
'!**/coverage/**',
|
|
],
|
|
coverageReporters: ['text', 'lcov', 'html'],
|
|
coverageDirectory: 'coverage',
|
|
};
|
|
|
|
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
module.exports = createJestConfig(customJestConfig);
|