@@ -2,10 +2,55 @@ import type { Config } from '@jest/types'
22
33const config : Config . InitialOptions = {
44 verbose : true ,
5+
6+ preset : 'ts-jest' ,
7+ //testEnvironment: 'jsdom', // For React DOM testing
8+ testEnvironment : 'jest-environment-jsdom' ,
9+ testEnvironmentOptions : {
10+ customExportConditions : [ '' ]
11+ } ,
12+ moduleNameMapper : {
13+ '\\.(css|less|scss)$' : 'identity-obj-proxy' , // For mocking static file imports
14+ '^react-markdown$' : '<rootDir>/__mocks__/react-markdown.tsx' ,
15+ '^dompurify$' : '<rootDir>/__mocks__/dompurify.js' , // Point to the mock
16+ '\\.(jpg|jpeg|png|gif|svg)$' : '<rootDir>/__mocks__/fileMock.ts' ,
17+
18+ } ,
19+ setupFilesAfterEnv : [ '<rootDir>/src/test/setupTests.ts' ] , // For setting up testing environment like jest-dom
520 transform : {
6- '^.+\\.tsx?$' : 'ts-jest'
21+ '^.+\\.ts(x)?$' : 'ts-jest' , // For TypeScript files
22+ '^.+\\.js$' : 'babel-jest' , // For JavaScript files if you have Babel
723 } ,
8- setupFilesAfterEnv : [ '<rootDir>/polyfills.js' ]
24+
25+ setupFiles : [ '<rootDir>/jest.polyfills.js' ] ,
26+ collectCoverage : true ,
27+ //collectCoverageFrom: ['src/**/*.{ts,tsx}'], // Adjust the path as needed
28+ //coverageReporters: ['json', 'lcov', 'text', 'clover'],
29+
30+ collectCoverageFrom : [ 'src/**/*.{ts,tsx,js,jsx}' ] ,
31+ coverageThreshold : {
32+ global : {
33+ branches : 80 ,
34+ functions : 80 ,
35+ lines : 80 ,
36+ statements : 80 ,
37+ } ,
38+ } ,
39+
40+ coveragePathIgnorePatterns : [
41+ '<rootDir>/node_modules/' , // Ignore node_modules
42+ '<rootDir>/__mocks__/' , // Ignore mocks
43+ '<rootDir>/src/state/' ,
44+ '<rootDir>/src/api/' ,
45+ '<rootDir>/src/mocks/' ,
46+ //'<rootDir>/src/test/',
47+ '<rootDir>/src/components/QuestionInput/index.ts' ,
48+ '<rootDir>/src/components/Answer/index.ts' ,
49+ '<rootDir>/src/pages/NoPage.tsx' ,
50+ '<rootDir>/src/index.tsx' ,
51+ '<rootDir>/src/vite-env.d.ts' ,
52+ '<rootDir>/src/helpers/'
53+ ] ,
954}
1055
1156export default config
0 commit comments