/**
 * Jest 配置 — CI 防漂移测试用。
 *
 * 测试目录:`tests/` (跟 src 平行,不混进 nest build 产物)
 *
 * 跑:
 *   pnpm test                       # 全跑
 *   pnpm test -- canonical-fact     # 只跑文件名含 canonical-fact 的
 *
 * 测试范围(CI 防漂移,canonical-fact-layer §二 闸 4):
 *   - FactType enum / FactContentSchemas / canonical-codes 一致性
 *   - data/<host>/assemblers/*.yaml enum_mapping 目标在 canonical-codes 闭集
 *   - data/<host>/assemblers/*.yaml emits.action/subjectType 在 Action/SubjectType enum
 */
module.exports = {
  rootDir: '.',
  preset: 'ts-jest',
  testEnvironment: 'node',
  testMatch: ['<rootDir>/tests/**/*.spec.ts'],
  moduleFileExtensions: ['ts', 'js', 'json'],
  moduleNameMapper: {
    '^@pac/types$': '<rootDir>/../../packages/types/src/index.ts',
    '^@pac/types/(.*)$': '<rootDir>/../../packages/types/src/$1',
  },
  transform: {
    '^.+\\.ts$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.json' }],
  },
};
