import client from '@rocket.chat/jest-presets/client'; import server from '@rocket.chat/jest-presets/server'; import type { Config } from 'jest'; export default { projects: [ { displayName: 'client', preset: client.preset, setupFilesAfterEnv: [...client.setupFilesAfterEnv], testMatch: [ '/client/**/**.spec.[jt]s?(x)', '/ee/client/**/**.spec.[jt]s?(x)', '/app/ui-message/client/**/**.spec.[jt]s?(x)', '/tests/unit/client/views/**/*.spec.{ts,tsx}', '/tests/unit/client/providers/**/*.spec.{ts,tsx}', '/app/ui/client/**/**.spec.[jt]s?(x)', '/app/emoji-native/**/**.spec.[jt]s?(x)', ], moduleNameMapper: { '^react($|/.+)': '/node_modules/react$1', '^react-virtuoso($|/.+)': '/node_modules/react-virtuoso$1', '^react-dom($|/.+)': '/node_modules/react-dom$1', '^react-i18next($|/.+)': '/node_modules/react-i18next$1', '^@rocket.chat/(.+)': '/node_modules/@rocket.chat/$1', '^@tanstack/(.+)': '/node_modules/@tanstack/$1', '^meteor/(.*)': '/tests/mocks/client/meteor.ts', }, coveragePathIgnorePatterns: ['/tests/', '/node_modules/'], }, { displayName: 'server', preset: server.preset, testMatch: [ '/server/lib/omnichannel/business-hour/**/*.spec.ts?(x)', '/ee/server/lib/authorization/validateUserRoles.spec.ts', '/ee/server/lib/license/**/*.spec.ts', '/ee/server/api/mcp/**/*.spec.ts', '/ee/server/patches/**/*.spec.ts', '/ee/server/cron/**/*.spec.ts', '/server/lib/cloud/supportedVersionsToken/**.spec.ts', '/app/utils/lib/**.spec.ts', '/server/lib/auditServerEvents/**.spec.ts', '/server/services/import/**/*.spec.ts', '/server/settings/lib/**.spec.ts', '/server/cron/**.spec.ts', '/server/api/*.spec.ts', '/server/api/lib/getUserInfo.spec.ts', '/server/api/v1/middlewares/*.spec.ts', '/server/lib/cloud/version-check/**/*.spec.ts', '/server/lib/auth-providers/apple/**.spec.ts', '/server/lib/statusVisibility/*.spec.ts', '/server/services/statusVisibility/*.spec.ts', ], coveragePathIgnorePatterns: ['/node_modules/'], }, ], coverageProvider: 'v8', collectCoverage: true, } satisfies Config;