فهرست منبع

refactor(testing): 更新所有mini UI包使用共享测试工具包mini-testing-utils

将所有mini UI包的jest配置更新为使用共享的@d8d/mini-testing-utils包,
替换了本地复制的mock配置文件。

## 更新的包

### 页面包
- mini-enterprise-auth-ui
- yongren-order-management-ui
- yongren-settings-ui
- yongren-statistics-ui
- yongren-talent-management-ui
- yongren-shared-ui

### 共享组件包
- mini-shared-ui-components

## 配置变更

### 之前
```javascript
setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
moduleNameMapper: {
  '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
  '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
  // ...
}
```

### 之后
```javascript
setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
moduleNameMapper: {
  '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
  '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
  // ...
}
```

## 优势
- 统一测试配置,减少重复代码
- 便于维护和更新mock配置
- 确保所有包使用相同的测试环境

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 3 هفته پیش
والد
کامیت
b73cacb05f

+ 5 - 7
mini-ui-packages/mini-enterprise-auth-ui/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -28,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [

+ 4 - 4
mini-ui-packages/mini-shared-ui-components/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',

+ 5 - 8
mini-ui-packages/yongren-order-management-ui/jest.config.cjs

@@ -1,15 +1,14 @@
-// 本地Jest配置,基于共享预设但内联以避免模块导入问题
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -29,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [

+ 5 - 7
mini-ui-packages/yongren-settings-ui/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -28,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [

+ 5 - 7
mini-ui-packages/yongren-shared-ui/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -28,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [

+ 5 - 7
mini-ui-packages/yongren-statistics-ui/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -28,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [

+ 5 - 7
mini-ui-packages/yongren-talent-management-ui/jest.config.cjs

@@ -1,14 +1,14 @@
 module.exports = {
   preset: 'ts-jest',
   testEnvironment: 'jsdom',
-  setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
+  setupFilesAfterEnv: ['@d8d/mini-testing-utils/setup'],
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1',
     '^~/(.*)$': '<rootDir>/tests/$1',
-    '^@tarojs/taro$': '<rootDir>/tests/__mocks__/taroMock.ts',
-    '\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
+    '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
+    '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
     '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
-      '<rootDir>/tests/__mocks__/fileMock.js'
+      '@d8d/mini-testing-utils/testing/file-mock.js'
   },
   testMatch: [
     '<rootDir>/tests/**/*.spec.{ts,tsx}',
@@ -28,9 +28,7 @@ module.exports = {
     '/coverage/'
   ],
   transform: {
-    '^.+\\.(ts|tsx)$': ['ts-jest', {
-      tsconfig: 'tsconfig.json'
-    }],
+    '^.+\\.(ts|tsx)$': 'ts-jest',
     '^.+\\.(js|jsx)$': 'babel-jest'
   },
   transformIgnorePatterns: [