Files

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;