woocommerce/tests/e2e/env/config/jest.config.js

55 lines
1.4 KiB
JavaScript
Raw Normal View History

/**
* External Dependencies
*/
2020-07-28 19:23:32 +00:00
const { jestConfig } = require( '@automattic/puppeteer-utils' );
const path = require( 'path' );
const fs = require( 'fs' );
/**
* Internal Dependencies
*/
const { getAppRoot } = require( '../utils' );
let setupFilesAfterEnv = [
path.resolve( __dirname, '../build/setup/jest.setup.js' ),
2021-03-08 19:07:29 +00:00
path.resolve( __dirname, '../build/setup/jest.failure.js' ),
'expect-puppeteer',
];
const appPath = getAppRoot();
const localJestSetupFile = path.resolve( appPath, 'tests/e2e/config/jest.setup.js' );
if (fs.existsSync( localJestSetupFile ) ) {
setupFilesAfterEnv.push( localJestSetupFile );
}
let combinedConfig = {
2020-07-28 19:23:32 +00:00
...jestConfig,
moduleNameMapper: {
2020-10-21 18:47:09 +00:00
'@woocommerce/e2e/tests/(.*)':
'<rootDir>/tests/e2e/$1',
},
setupFiles: [ '<rootDir>/config/env.setup.js' ],
// A list of paths to modules that run some code to configure or set up the testing framework
// before each test
setupFilesAfterEnv,
// Sort test path alphabetically. This is needed so that `activate-and-setup` tests run first
testSequencer: '<rootDir>/config/jest-custom-sequencer.js',
2020-05-05 16:56:00 +00:00
// Set the test timeout in milliseconds.
testTimeout: parseInt( global.process.env.jest_test_timeout ),
2020-07-28 19:23:32 +00:00
transformIgnorePatterns: [
...jestConfig.transformIgnorePatterns,
'node_modules/(?!(woocommerce)/)'
],
};
if ( process.env.jest_test_spec ) {
combinedConfig.testMatch = [
process.env.jest_test_spec
];
}
module.exports = combinedConfig;