/** @type {import('jest').Config} */ module.exports = { // Define separate Jest projects projects: [ // Default config for most tests { displayName: 'default', testEnvironment: 'node', clearMocks: true, roots: [''], coverageDirectory: 'coverage', setupFiles: [ './test/jestSetup.js', './test/__mocks__/logger.js', './test/__mocks__/fetchEventSource.js', ], moduleNameMapper: { '~/(.*)': '/$1', '~/data/auth.json': '/__mocks__/auth.mock.json', '^openid-client/passport$': '/test/__mocks__/openid-client-passport.js', '^openid-client$': '/test/__mocks__/openid-client.js', }, transformIgnorePatterns: ['/node_modules/(?!(openid-client|oauth4webapi|jose)/).*/'], // testMatch: ['/**/*.spec.js', '/**/*.spec.ts'], testPathIgnorePatterns: [ '/strategies/openidStrategy.spec.js', '/strategies/samlStrategy.spec.js', '/strategies/appleStrategy.test.js', ], }, // Special config just for openidStrategy.spec.js { displayName: 'openid-strategy', testEnvironment: 'node', clearMocks: true, setupFiles: [ './test/jestSetup.js', './test/__mocks__/logger.js', './test/__mocks__/fetchEventSource.js', ], moduleNameMapper: { '~/(.*)': '/$1', '~/data/auth.json': '/__mocks__/auth.mock.json', '^openid-client/passport$': '/test/__mocks__/openid-client-passport.js', '^openid-client$': '/test/__mocks__/openid-client.js', }, transformIgnorePatterns: ['/node_modules/(?!(openid-client|oauth4webapi|jose)/).*/'], transform: { '^.+\\.tsx?$': [ 'ts-jest', { tsconfig: { esModuleInterop: true, allowSyntheticDefaultImports: true, }, }, ], }, testMatch: [ '/strategies/openidStrategy.spec.js', '/strategies/samlStrategy.spec.js', '/strategies/appleStrategy.test.js', ], }, ], };