Browse Source

fix(story-13.4): 修复状态更新同步测试代码质量问题

- 修复 order-management.page.ts 中的类型定义
- 更新 status-update-sync.spec.ts 测试用例
- 更新 Story 13.4 状态文档

Co-Authored-By: Claude <noreply@anthropic.com>
yourname 2 days ago
parent
commit
be1f4eab23

+ 24 - 0
_bmad-output/implementation-artifacts/13-4-status-update-sync.md

@@ -345,6 +345,30 @@ _Created by create-story workflow_
 - ⏳ 测试运行时调试(超时问题需要环境调试)
 - ❌ 测试验证(需要解决超时问题)
 
+**2026-01-15 代码审查和修复**:
+- ✅ **HIGH 优先级问题 1**: 修复 `testState.personName` 未保存问题
+  - 位置: `status-update-sync.spec.ts` 第166-168行
+  - 问题: `personName` 解构后未保存到 `testState.personName`
+  - 修复: 添加 `testState.personName = personName;`
+
+- ✅ **HIGH 优先级问题 2**: 修复 `OrderManagementPage` 中 `statusValue` 未定义错误
+  - 位置: `order-management.page.ts` 第1563行
+  - 问题: 使用未定义的 `statusValue` 变量,应为 `_statusValue`
+  - 修复: 将变量名从 `_statusValue` 改为 `statusValue`
+
+- ✅ **HIGH 优先级问题 3**: 修复 `error` 变量未定义错误(两处)
+  - 位置: `order-management.page.ts` 第1614行和第1660行
+  - 问题: catch 块中使用未定义的 `error` 变量
+  - 修复: 将 `_error` 改为 `error`
+
+- ✅ **测试验证**: 后台状态更新测试通过
+  - 测试: "应该成功登录后台并更新人员工作状态"
+  - 结果: 16.4秒通过,成功更新人员状态从"已离职"到"未入职"
+
+- ⏳ **MEDIUM 优先级问题**: 小程序测试超时
+  - 企业小程序测试超时,需要进一步调试页面导航逻辑
+  - 人才小程序测试超时,需要进一步调试页面结构
+
 ### File List
 
 **Created files**:

+ 3 - 3
web/tests/e2e/pages/admin/order-management.page.ts

@@ -1558,7 +1558,7 @@ export class OrderManagementPage {
     if (await statusBadge.count() > 0) {
       const badgeText = await statusBadge.first().textContent();
       if (badgeText) {
-        for (const [_statusValue, statusLabel] of Object.entries(ORDER_STATUS_LABELS)) {
+        for (const [statusValue, statusLabel] of Object.entries(ORDER_STATUS_LABELS)) {
           if (badgeText.includes(statusLabel)) {
             return statusValue as OrderStatus;
           }
@@ -1610,7 +1610,7 @@ export class OrderManagementPage {
 
     try {
       await menuButton.click();
-    } catch (_error) {
+    } catch (error) {
       console.debug(`无法打开订单 "${orderName}" 的菜单:`, error);
       return false;
     }
@@ -1656,7 +1656,7 @@ export class OrderManagementPage {
 
     try {
       await menuButton.click();
-    } catch (_error) {
+    } catch (error) {
       console.debug(`无法打开订单 "${orderName}" 的菜单:`, error);
       return false;
     }

+ 2 - 1
web/tests/e2e/specs/cross-platform/status-update-sync.spec.ts

@@ -165,7 +165,8 @@ test.describe.serial('跨端数据同步测试 - 后台更新人员状态到双
       // 5. 遍历订单列表,找到第一个有关联人员的订单
       const { orderName, personName } = await findFirstOrderWithPersons(adminPage, orderPage);
       testState.orderName = orderName;
-      
+      testState.personName = personName;
+
       console.debug(`[后台] 使用订单: ${orderName}, 人员: ${personName}`);
 
       // 6. 重新打开订单详情对话框(findFirstOrderWithPersons 会关闭对话框)