import nextJest from 'next/jest.js' // Provide the path to your Next.js app to load next.config.js and .env files in your test environment const createJestConfig = nextJest({ dir: './' }) // Custom client config to be passed to Jest. const clientTestConfig = { displayName: "client", testPathIgnorePatterns: ["<rootDir>/node_modules/", "<rootDir>/__tests__/api/"], setupFilesAfterEnv: ["<rootDir>/jest.setup.js"], testEnvironment: "jest-environment-jsdom", } // Custom server config to be passed to Jest. const serverTestConfig = { displayName: "server", testMatch: ["**/__tests__/api/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"], testEnvironment: "jest-environment-node", } // Add any custom config to be passed to Jest /** @type {import('jest').Config} */ const config = { // Add more setup options before each test is run projects: [await createJestConfig(clientTestConfig)(), await createJestConfig(serverTestConfig)()], collectCoverageFrom: [ '**/app/api/**', '!**/node_modules/**', '!**/.*/**', ], } export default config