Skip to content

Commit 2e9fdba

Browse files
Configure Jest with projects + coverage output
1 parent e6a2ab4 commit 2e9fdba

2 files changed

Lines changed: 34 additions & 18 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ test: test-unit test-ui test-lint # Run all tests @Testing
4444

4545
test-unit: # Run unit tests @Testing
4646
poetry run pytest -m 'not system'
47-
npm test
47+
npm test -- --coverage
4848

4949
test-lint: # Lint files @Testing
5050
npm run lint

jest.config.js

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,51 @@
11
/**
2-
* Jest config
2+
* Jest project config defaults
33
*
4-
* @type {Config}
4+
* @type {ProjectConfig}
55
*/
6-
export default {
7-
collectCoverageFrom: ['**/assets/js/**/*.{js,mjs}'],
8-
coverageProvider: 'v8',
9-
// testMatch: ['<rootDir>/**/*.unit.test.{js,mjs}'],
10-
11-
// Enable GitHub Actions reporter UI
12-
reporters: ['default', 'github-actions'],
13-
6+
const config = {
147
cacheDirectory: '<rootDir>/.cache/jest',
15-
coveragePathIgnorePatterns: ['.eslintrc.js', '.test.(js|mjs)'],
8+
coveragePathIgnorePatterns: ['.eslintrc.js', '.test.(cjs|js)'],
169

1710
// Enable Babel transforms until Jest supports ESM and `import()`
1811
// See: https://jestjs.io/docs/ecmascript-modules
1912
transform: {
20-
'^.+\\.(js|cjs)$': ['babel-jest', { rootMode: 'upward' }]
21-
},
22-
23-
testEnvironment: 'jsdom',
13+
'^.+\\.(cjs|js)$': ['babel-jest', { rootMode: 'upward' }]
14+
}
15+
}
2416

25-
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
17+
/**
18+
* Jest config
19+
*
20+
* @type {Config}
21+
*/
22+
export default {
23+
collectCoverageFrom: ['**/assets/js/**/*.{cjs,js}'],
24+
coverageProvider: 'v8',
25+
projects: [
26+
{
27+
...config,
28+
displayName: 'JavaScript behaviour tests',
29+
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
30+
testEnvironment: 'jsdom',
31+
testMatch: ['<rootDir>/**/*.test.{cjs,js}']
32+
}
33+
],
2634

35+
// Reset mocks between tests
2736
resetMocks: true,
2837
resetModules: true,
2938
restoreMocks: true,
30-
clearMocks: true
39+
clearMocks: true,
40+
41+
// Enable GitHub Actions reporter UI
42+
reporters: ['default', 'github-actions']
3143
}
3244

45+
/**
46+
* @typedef {Exclude<Config['projects'][0], string>} ProjectConfig
47+
*/
48+
3349
/**
3450
* @import { Config } from 'jest'
3551
*/

0 commit comments

Comments
 (0)