Files
fast-next-template/frontend/jest.config.js
Felipe Cardoso ac3fac0426 Add tests for useFormError hook and FormField component
- Introduced `useFormError.test.tsx` to validate error handling, server error integration, and form behavior.
- Added `FormField.test.tsx`, covering rendering, accessibility, error handling, and prop forwarding.
- Updated Jest coverage exclusions to include `middleware.ts` (no logic to test).
2025-11-02 17:14:12 +01:00

45 lines
1.5 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: [
'<rootDir>/tests/**/*.test.ts',
'<rootDir>/tests/**/*.test.tsx',
],
collectCoverageFrom: [
'src/**/*.{js,jsx,ts,tsx}',
'!src/**/*.d.ts',
'!src/**/*.stories.{js,jsx,ts,tsx}',
'!src/**/__tests__/**',
'!src/lib/api/generated/**', // Auto-generated API client - do not test
'!src/lib/api/hooks/**', // React Query hooks - tested in E2E (require API mocking)
'!src/**/*.old.{js,jsx,ts,tsx}', // Old implementation files
'!src/components/ui/**', // shadcn/ui components - third-party, no need to test
'!src/app/**', // Next.js app directory - layout/page files (test in E2E)
'!src/**/index.{js,jsx,ts,tsx}', // Re-export index files - no logic to test
'!src/lib/utils/cn.ts', // Simple utility function from shadcn
'!src/middleware.ts', // middleware.ts - no logic to test
],
coverageThreshold: {
global: {
branches: 85,
functions: 85,
lines: 90,
statements: 90,
},
},
}
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
module.exports = createJestConfig(customJestConfig)