Skip to content

Commit ceb7f95

Browse files
authored
Merge pull request #64 from CS3219-AY2526Sem1/feat/add-qn-and-histoyr-tests
feat: fix failing tests v3
2 parents e659e7c + 5b9e2d4 commit ceb7f95

File tree

4 files changed

+31
-6
lines changed

4 files changed

+31
-6
lines changed

.github/workflows/codecov.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
PGDATABASE: ${{ env.POSTGRES_DB }}
9292

9393
- name: Run question-service tests
94-
run: npm test --workspace=question-service
94+
run: npm test --workspace=question-service -- --coverage
9595
# Environment variables (POSTGRES_*) are inherited from job-level env above
9696
# This avoids duplicating credentials in multiple steps
9797

@@ -107,3 +107,5 @@ jobs:
107107
files: ./coverage/lcov.info,./question-service/coverage/lcov.info
108108
flags: unittests
109109
name: codecov-umbrella
110+
fail_ci_if_error: false
111+
verbose: true

frontend/src/test/setup.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import '@testing-library/jest-dom';
2+
import React from 'react';
23

34
import {TextDecoder, TextEncoder} from 'util';
45

56
global.TextEncoder = TextEncoder;
67
global.TextDecoder = TextDecoder as any;
8+
9+
// Ensure React is available globally for components that use React.forwardRef
10+
global.React = React;

jest.config.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,26 @@ const config: Config = {
3838
'frontend/src/**/*.{ts,js,tsx,jsx}',
3939
// Backend services
4040
'collaboration-service/src/**/*.{ts,js}',
41+
'history-service/src/**/*.{ts,js}',
4142
'matching-service/src/**/*.{ts,js}',
4243
'question-service/src/**/*.{ts,js}',
4344
'user-service/src/**/*.{ts,js}',
4445
// Exclusions
4546
'!**/src/**/*.d.ts',
4647
'!**/src/**/__tests__/**',
47-
'!**/src/**/*.test.{ts,js}',
48-
'!**/src/**/*.spec.{ts,js}',
48+
'!**/src/**/*.test.{ts,js,tsx,jsx}',
49+
'!**/src/**/*.spec.{ts,js,tsx,jsx}',
50+
'!**/src/test/**',
4951
'!**/node_modules/**',
5052
'!**/dist/**',
5153
'!**/build/**',
5254
],
5355

5456
// Force coverage collection from ignored files using an array of glob patterns
5557
forceCoverageMatch: [
56-
'<rootDir>/frontend/src/**/*.{ts,js, tsx}',
58+
'<rootDir>/frontend/src/**/*.{ts,js,tsx,jsx}',
5759
'<rootDir>/collaboration-service/src/**/*.{ts,js}',
60+
'<rootDir>/history-service/src/**/*.{ts,js}',
5861
'<rootDir>/matching-service/src/**/*.{ts,js}',
5962
'<rootDir>/question-service/src/**/*.{ts,js}',
6063
'<rootDir>/user-service/src/**/*.{ts,js}',
@@ -219,7 +222,13 @@ const config: Config = {
219222
'^.+\\.tsx?$': [
220223
'ts-jest',
221224
{
222-
tsconfig: '<rootDir>/frontend/tsconfig.app.json',
225+
tsconfig: {
226+
jsx: 'react-jsx',
227+
esModuleInterop: true,
228+
allowSyntheticDefaultImports: true,
229+
module: 'commonjs',
230+
moduleResolution: 'node',
231+
},
223232
diagnostics: false, // Disables TypeScript errors
224233
},
225234
],

question-service/jest.config.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@
1010
"globalSetup": "<rootDir>/src/test/globalSetup.ts",
1111
"setupFilesAfterEnv": ["<rootDir>/src/test/setup.ts"],
1212
"testTimeout": 10000,
13-
"maxWorkers": 3
13+
"maxWorkers": 3,
14+
"collectCoverage": true,
15+
"coverageDirectory": "<rootDir>/coverage",
16+
"coverageReporters": ["json", "text", "lcov", "clover", "html"],
17+
"collectCoverageFrom": [
18+
"src/**/*.{ts,js}",
19+
"!src/**/*.d.ts",
20+
"!src/**/*.test.{ts,js}",
21+
"!src/**/*.spec.{ts,js}",
22+
"!src/test/**"
23+
]
1424
}
1525

0 commit comments

Comments
 (0)