// Consistent timezone for testing. // This does not work on windows, see https://github.com/nodejs/node/issues/4230 /* eslint-env node */ process.env.TZ = 'UTC'; module.exports = { setupFilesAfterEnv: ['./testSetup.js'], collectCoverageFrom: [ 'bin/*.js', 'app/javascript/**/*.{js,jsx}', // This exclusion avoids running coverage on Barrel files, https://twitter.com/housecor/status/981558704708472832 '!app/javascript/**/index.js', '!app/javascript/packs/**/*.js', // avoids running coverage on webpacker pack files '!**/__tests__/**', '!**/__stories__/**', '!app/javascript/storybook-static/**/*.js', // We do not need code coverage on files that are prop types // or eslint configuration files. '!app/javascript/**/*PropTypes.js', '!./**/.eslintrc.js', // Ignore Storybook configuration files '!app/javascript/.storybook/**/*.{js,jsx}', ], coverageThreshold: { global: { statements: 43, branches: 39, functions: 41, lines: 43, }, }, moduleNameMapper: { '\\.(svg|png|css)$': '/empty-module.js', '^@crayons(.*)$': '/app/javascript/crayons$1', '^@utilities(.*)$': '/app/javascript/utilities$1', '^@components(.*)$': '/app/javascript/shared/components$1', '^react$': 'preact/compat', '^react-dom$': 'preact/compat', }, // The webpack config folder for webpacker is excluded as it has a test.js file that gets // picked up by jest if this folder is not excluded causing a false negative of a test suite failing. testPathIgnorePatterns: [ '/node_modules/', '/config/webpack', // Allows developers to add utility modules that jest won't run as test suites. '/__tests__/utilities/', '/app/javascript/storybook-static', '/cypress', ], watchPlugins: [ 'jest-watch-typeahead/filename', 'jest-watch-typeahead/testname', ], };