cal/jest.config.ts
Leo Giovanetti 41c1e960f8
Adjusting jest and expanding test builders (#4837)
* Adjusting jest and expanding test builders

* Removing unneeded jest config
2022-10-06 13:29:20 -06:00

84 lines
2.8 KiB
TypeScript

import type { Config } from "jest";
const config: Config = {
preset: "ts-jest",
verbose: true,
projects: [
{
displayName: "@calcom/web",
roots: ["<rootDir>/apps/web"],
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
modulePathIgnorePatterns: [
//
"<rootDir>/apps/web/test/__fixtures__",
"<rootDir>/apps/web/node_modules",
"<rootDir>/apps/web/dist",
],
clearMocks: true,
setupFilesAfterEnv: ["<rootDir>/tests/config/singleton.ts"],
setupFiles: ["<rootDir>/apps/web/test/jest-setup.js"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)", "**/__tests__/**/*.(spec|test).(ts|tsx|js)"],
testPathIgnorePatterns: ["<rootDir>/apps/web/.next", "<rootDir>/apps/web/playwright/"],
transform: {
"^.+\\.(js|jsx|ts|tsx)$": ["babel-jest", { presets: ["next/babel"] }],
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
resolver: `<rootDir>/apps/web/test/jest-resolver.js`,
moduleNameMapper: {
"^@components(.*)$": "<rootDir>/apps/web/components$1",
"^@lib(.*)$": "<rootDir>/apps/web/lib$1",
"^@server(.*)$": "<rootDir>/apps/web/server$1",
},
},
{
displayName: "@calcom/lib",
roots: ["<rootDir>/packages/lib"],
testEnvironment: "node",
transform: {
"^.+\\.tsx?$": "ts-jest",
},
},
{
displayName: "@calcom/closecom",
roots: ["<rootDir>/packages/app-store/closecomothercalendar"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
transform: {
"^.+\\.ts?$": "ts-jest",
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
setupFiles: ["<rootDir>/packages/app-store/closecomothercalendar/test/globals.ts"],
},
{
displayName: "@calcom/api",
roots: ["<rootDir>/apps/api"],
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
setupFilesAfterEnv: ["<rootDir>/tests/config/singleton.ts"],
transform: {
"^.+\\.ts?$": "ts-jest",
},
globals: {
"ts-jest": {
tsconfig: "<rootDir>/apps/api/tsconfig.json",
},
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "node",
clearMocks: true,
moduleNameMapper: {
"^@lib/(.*)$": "<rootDir>/apps/api/lib/$1",
"^@api/(.*)$": "<rootDir>/apps/api/pages/api/$1",
},
// setupFilesAfterEnv: ["<rootDir>/apps/api/jest.setup.ts"], // Uncomment when API becomes public
},
],
watchPlugins: [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname",
"jest-watch-select-projects",
],
};
export default config;