37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import type { Config } from "jest";
|
|
|
|
const config: Config = {
|
|
coverageProvider: "v8",
|
|
testEnvironment: "jsdom",
|
|
roots: ["<rootDir>/app", "<rootDir>/lib"],
|
|
modulePathIgnorePatterns: ["<rootDir>/.worktrees/"],
|
|
// o teste de fumaça (Playwright) roda com `pnpm test:e2e`, não no Jest
|
|
testPathIgnorePatterns: ["/node_modules/", "<rootDir>/e2e/"],
|
|
setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"],
|
|
moduleNameMapper: {
|
|
"^@/(.*)$": "<rootDir>/$1",
|
|
"^.+\\.(css|sass|scss)$": "identity-obj-proxy",
|
|
"^server-only$": "<rootDir>/lib/__mocks__/server-only.ts",
|
|
// dublê completo e central: nenhum teste monta um mock parcial de next/navigation
|
|
"^next/navigation$": "<rootDir>/__mocks__/next/navigation.ts",
|
|
},
|
|
testMatch: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
|
|
transform: {
|
|
"^.+\\.(ts|tsx)$": [
|
|
"ts-jest",
|
|
{
|
|
tsconfig: {
|
|
jsx: "react-jsx",
|
|
esModuleInterop: true,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
moduleFileExtensions: ["ts", "tsx", "js", "jsx"],
|
|
testEnvironmentOptions: {
|
|
customExportConditions: [""],
|
|
},
|
|
};
|
|
|
|
export default config;
|