export default { testEnvironment: 'node', coverageDirectory: 'coverage', collectCoverageFrom: [ 'services/**/*.js', '!services/**/node_modules/**', '!services/**/*.test.js', '!services/**/*.spec.js', '!services/**/tests/**', '!services/**/coverage/**', '!services/**/dist/**', '!services/**/build/**' ], testMatch: [ '**/tests/**/*.test.js', '**/tests/**/*.spec.js' ], testPathIgnorePatterns: [ '/node_modules/', '/dist/', '/build/', '/coverage/' ], setupFilesAfterEnv: [ '/tests/setup.js' ], moduleNameMapper: { '^@/(.*)$': '/$1', '^@services/(.*)$': '/services/$1', '^@tests/(.*)$': '/tests/$1' }, transform: { '^.+\\.js$': ['babel-jest', { presets: [ ['@babel/preset-env', { targets: { node: 'current' } }] ] }] }, coverageThreshold: { global: { branches: 70, functions: 70, lines: 80, statements: 80 } }, testTimeout: 30000, verbose: true, forceExit: true, clearMocks: true, resetMocks: true, restoreMocks: true, reporters: [ 'default', ['jest-junit', { outputDirectory: 'test-results', outputName: 'junit.xml', classNameTemplate: '{classname}', titleTemplate: '{title}', ancestorSeparator: ' › ', usePathForSuiteName: 'true' }] ] };