diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-03-24 15:53:30 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-03-24 18:00:22 +0100 |
| commit | fba491f2c4e878cc9c7ae9788d9316cb21e30e01 (patch) | |
| tree | a761520e8a70d35e7f206447712d8491802bc50c /jest.config.js | |
| parent | 6b5c861eea12c67c4440d9e086513bd8b196c150 (diff) | |
build: configure jest
Since Next.js v12, Jest is already configured with the
next/jest package.
I also added a package to mock next/router.
Diffstat (limited to 'jest.config.js')
| -rw-r--r-- | jest.config.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..8f397f6 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,44 @@ +const nextJest = require('next/jest'); + +const createJestConfig = nextJest({ + // Provide the path to your Next.js app to load next.config.js and .env files in your test environment + dir: './', +}); + +/* + * Add any custom config to be passed to Jest + * + * For a detailed explanation regarding each configuration property and type + * check, visit: + * https://jestjs.io/docs/configuration + */ +const customJestConfig = { + // if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work + moduleDirectories: ['node_modules', '<rootDir>/'], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + moduleNameMapper: { + /** Module Path Aliases */ + '^@i18n/(.*)$': '<rootDir>/src/i18n/$1', + '^@assets/(.*)$': '<rootDir>/src/assets/$1', + '^@content/(.*)$': '<rootDir>/src/content/$1', + '^@components/(.*)$': '<rootDir>/src/components/$1', + '^@pages/(.*)$': '<rootDir>/src/pages/$1', + '^@services/(.*)$': '<rootDir>/src/services/$1', + '^@styles/(.*)$': '<rootDir>/src/styles/$1', + '^@ts/(.*)$': '<rootDir>/src/ts/$1', + '^@utils/(.*)$': '<rootDir>/src/utils/$1', + }, + + // Add more setup options before each test is run + setupFilesAfterEnv: ['<rootDir>/jest.setup.js'], + + // The test environment that will be used for testing + testEnvironment: 'jest-environment-jsdom', +}; + +/** + * createJestConfig is exported this way to ensure that next/jest can load the + * Next.js config which is async. + */ +module.exports = createJestConfig(customJestConfig); |
