-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjest.config.js
49 lines (45 loc) · 1.77 KB
/
jest.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
module.exports = {
// Tells Jest that we want to collect via a glob pattern
collectCoverageFrom: [
"src/**/*.{js,jsx,ts,tsx}",
// exclude storybook stories from coverage
"!src/**/*.stories.{js,jsx,ts,tsx}",
"!**/*.d.ts",
"!**/node_modules/**",
],
/* We're using this to "stub out" importing CSS and images,
since they are a little special with Next.JS */
moduleNameMapper: {
/** handle absolute path alias */
"^@/(.+)": "<rootDir>/src/$1",
/* Handle CSS imports (with CSS modules)
https://jestjs.io/docs/webpack#mocking-css-modules */
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy",
// Handle CSS imports (without CSS modules)
"^.+\\.(css|sass|scss)$": "<rootDir>/test/__mocks__/styleMock.js",
/* Handle image imports
https://jestjs.io/docs/webpack#handling-static-assets */
"^.+\\.(jpg|jpeg|png|gif|webp|avif|svg)$":
"<rootDir>/test/__mocks__/fileMock.js",
},
testPathIgnorePatterns: [
"<rootDir>/node_modules/",
"<rootDir>/.next/",
"<rootDir>/test/e2e", // ignore playwright tests
"<rootDir>/test/visual", // ignore playwright tests
],
// Set's the jest environment to jsdom which is a browser-like environment.
testEnvironment: "jsdom",
// Transform source files through babel before running the tests.
transform: {
/* Use babel-jest to transpile tests with the next/babel preset
https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object */
"^.+\\.(js|jsx|ts|tsx)$": ["babel-jest", { presets: ["next/babel"] }],
},
// Ignore transforming files that match this pattern.
transformIgnorePatterns: [
"/node_modules/",
"^.+\\.module\\.(css|sass|scss)$",
],
setupFilesAfterEnv: ["<rootDir>/jest.setup.js"],
};