Jest Test preset for Shopware 6 administration unit tests
Default Jest preset for Shopware 6 administration development.
npm install jest @shopware-ag/jest-preset-sw6-admin @babel/preset-env @babel/plugin-proposal-class-properties --save-dev
Setup
After installaing the necessary required packages, please create a file called babel.config.json
right next to your own package.json
with the following content:
{
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-proposal-class-properties"]
}
Via jest.config.js
Next up, create a file jest.config.js
which should contain the following content:
module.exports = {
preset: '@shopware-ag/jest-preset-sw6-admin',
globals: {
adminPath: '<file-path-to-sw6-administration>',
}
}
Options the preset sets up for you
collectCoverage
- Code coverage will be generated using the reporters listed under coverageReporters
coverageReporters
- The presets uses lcov
, text
& clover
as coverage reporterswatchPathIgnorePatterns
- Ignores the node_modules
folder for the watch mode of JestclearMocks
- Automatically clear mock calls and instances before every test.moduleFileExtensions
- File with the extension js
will automatically used as extensions your module use.moduleNameMapper
- All css
, less
& scss
files will be mocked and relative paths to src
are getting mapped to the correct src directorytransform
- Transforms js
files using babel-jest and twig
files are transformed using a custom twig transformer which we use in the administration as wellmodulePathIgnorePatterns
- Ignores e2e test specs by defaultsetupFilesAfterEnv
- Provides a polyfill for Webpack' require.context
and sets up the global Shopware third-party interface for every test. The object can be accessed using global.Shopware
in test files.testMatch
- Matches all files containing .spec.js
in the test directory