Files
photo-live/services/sync/jest.config.cjs
T
2026-09-18 15:21:41 +08:00

32 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// services/sync/jest.config.cjs —— 单测配置(镜像 services/worker/jest.config.cjs
// 约定;P2 Task 3 当前仅有 e2e,单测配置保留供后续 sender 单测落地,
// passWithNoTests 让空单测包不挂 turbo test 门)。
// · maxWorkers 1:单进程串行(e2e 配置继承后共享同一 MySQL/MinIO,spec 间以
// api test/reset*.ts TRUNCATE + 前缀清理隔离,并行会互相清掉对方数据);
// · setupFiles 经 test/load-env.ts 载入仓库根 .env(全仓库唯一 env 文件);
// · @photo/contracts(ESM)/@photo/db-cn/@photo/db-ov/@photo/storage(CJS)
// 经 moduleNameMapper 直指 TS 源码,ts-jest 以 CJS 编译,无需先 build 依赖
// 包 dist;contracts 源码 NodeNext 风格 .js 后缀导入 → 映射回 .ts。
/** @type {import('jest').Config} */
module.exports = {
maxWorkers: 1,
testEnvironment: 'node',
rootDir: '.',
setupFiles: ['./test/load-env.ts'],
transform: {
'^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.json' }],
},
moduleNameMapper: {
'^@photo/contracts$': '<rootDir>/../../packages/contracts/src/index.ts',
'^@photo/db-cn$': '<rootDir>/../../packages/db-cn/src/index.ts',
// e2e 直连 ov 库断言副本(PrismaClient from '@photo/db-ov')。
'^@photo/db-ov$': '<rootDir>/../../packages/db-ov/src/index.ts',
// 驱动 worker PublishService(上传即公开事务)需要 storage 适配器。
'^@photo/storage$': '<rootDir>/../../packages/storage/src/index.ts',
'^(\\.{1,2}/.*)\\.js$': '$1',
},
testMatch: ['<rootDir>/src/**/*.spec.ts', '<rootDir>/test/**/*.spec.ts'],
testPathIgnorePatterns: ['/node_modules/', '/dist/'],
passWithNoTests: true,
};