|
|
@@ -245,11 +245,54 @@ Claude (d8d-model)
|
|
|
|
|
|
4. **测试结果**: 13 passed, 2 skipped (7.5m)
|
|
|
|
|
|
+### Code Review Findings and Fixes (2026-01-13)
|
|
|
+
|
|
|
+**代码审查发现的问题及修复:**
|
|
|
+
|
|
|
+1. **[HIGH] Git vs Story File List 不一致**
|
|
|
+ - 问题:git 提交包含 4 个文件,但 story File List 只记录了 2 个
|
|
|
+ - 修复:更新 File List 包含所有修改的文件
|
|
|
+
|
|
|
+2. **[HIGH] AC3 公司关联验证 - 后端未实现强制验证**
|
|
|
+ - 问题:后端允许创建没有 companyId 的 EMPLOYER 用户
|
|
|
+ - 状态:已知问题,测试已标记为 skip,等待后端实现
|
|
|
+ - 影响:关键业务规则缺失
|
|
|
+
|
|
|
+3. **[MEDIUM] 邮箱验证测试设计问题**
|
|
|
+ - 问题:测试先填昵称再填无效邮箱,可能绕过邮箱验证
|
|
|
+ - 修复:调整顺序,先填无效邮箱,不填昵称等其他可选字段
|
|
|
+
|
|
|
+4. **[MEDIUM] .nth(5) 列索引选择器脆弱**
|
|
|
+ - 问题:依赖表格列位置,列重排时测试会失败
|
|
|
+ - 修复:添加 `data-testid="user-type-badge"` 到 Badge 组件,使用稳定选择器
|
|
|
+
|
|
|
+5. **[MEDIUM] 硬编码 companyId: 1**
|
|
|
+ - 问题:测试使用硬编码 companyId,但 Page Object 实际通过公司名称处理
|
|
|
+ - 修复:移除 companyId 参数,使用注释说明
|
|
|
+
|
|
|
+6. **[LOW] debounce 函数每次渲染重新创建**
|
|
|
+ - 问题:性能问题,debounce 函数在每次渲染时重新创建
|
|
|
+ - 修复:提取到 `useDebounce` Hook
|
|
|
+
|
|
|
+### 已知问题和后续建议
|
|
|
+
|
|
|
+1. **前端验证缺失**
|
|
|
+ - 前端表单显示红色星号(必填标记),但后端 schema 允许 null
|
|
|
+ - 需要在前端或后端添加强制验证
|
|
|
+
|
|
|
+2. **ESLint 配置**
|
|
|
+ - 新建 `eslint.config.js` 配置文件
|
|
|
+ - 捕获常见 TypeScript 和 Playwright 问题
|
|
|
+ - 建议:后续 Story 遵循 ESLint 规则
|
|
|
+
|
|
|
### File List
|
|
|
|
|
|
**修改的文件:**
|
|
|
-- `web/tests/e2e/specs/admin/user-create-employer.spec.ts` - 新建测试文件
|
|
|
+- `web/tests/e2e/specs/admin/user-create-employer.spec.ts` - 新建测试文件 (482 行)
|
|
|
- `web/tests/e2e/pages/admin/user-management.page.ts` - 修复 selector 问题
|
|
|
+- `packages/user-management-ui/src/components/UserManagement.tsx` - 添加用户类型 Badge 的 data-testid,提取 debounce 函数
|
|
|
+- `eslint.config.js` - 新建 ESLint 配置文件 (153 行)
|
|
|
+- `packages/user-management-ui/src/hooks/useDebounce.ts` - 新建防抖 Hook
|
|
|
|
|
|
**测试文件位置:**
|
|
|
- `web/tests/e2e/specs/admin/user-create-employer.spec.ts`
|
|
|
@@ -260,3 +303,9 @@ Claude (d8d-model)
|
|
|
- 创建企业用户创建 E2E 测试
|
|
|
- 修复 UserManagementPage selector 问题
|
|
|
- 13 个测试通过,2 个跳过(后端验证未实现)
|
|
|
+
|
|
|
+- 2026-01-13: 代码审查修复
|
|
|
+ - 修复测试文件:邮箱验证顺序、硬编码 companyId、.nth(5) 选择器
|
|
|
+ - 添加用户类型 Badge 的 data-testid
|
|
|
+ - 提取 debounce 函数到 useDebounce Hook
|
|
|
+ - 更新 Story 文档记录所有变更和已知问题
|