# Story 13.11: 订单详情页完整性验证 ## 元数据 - Epic: Epic 13 - 跨端数据同步测试 - 状态: review - 优先级: P0 - 故事点: 5 ## 用户故事 作为企业管理员,我在后台创建或编辑订单后,企业小程序的订单详情页能显示完整、准确的订单信息,包括基本信息、打卡数据统计、关联人才列表等。 ## 验收标准 ### AC 1: 订单详情页头部信息验证 **Given** 后台已创建订单 **When** 在企业小程序点击订单卡片进入订单详情页 **Then** 订单详情页头部应显示: - 订单名称 - 订单编号 - 订单状态 - 创建时间 - 更新时间 - 企业名称 - 平台标识 ### AC 2: 订单详情页基本信息验证 **Given** 后台已编辑订单信息 **When** 在企业小程序查看订单详情页 **Then** 基本信息区域应显示: - 预计人数 - 实际人数 - 预计开始日期 - 实际开始日期(如有) - 预计结束日期 - 实际结束日期(如有) - 渠道 ### AC 3: 订单详情页打卡数据统计验证 **Given** 订单存在打卡记录 **When** 在企业小程序查看订单详情页 **Then** 打卡数据统计区域应显示: - 本月打卡人数 - 工资视频数量 - 个税视频数量 ### AC 4: 订单详情页关联人才列表验证 **Given** 后台已添加人员到订单 **When** 在企业小程序查看订单详情页 **Then** 关联人才列表应显示该订单的所有人员 **And** 每个人才卡片显示:姓名、残疾类型、性别、入职日期、工作状态 ### AC 5: 后台编辑后订单详情页同步验证 **Given** 后台编辑订单信息(名称、状态、人数、日期等) **When** 在企业小程序打开订单详情页 **Then** 订单详情页应显示更新后的所有相关字段 ## 任务 ### 任务 1: 准备 Page Object - [x] 在 `enterprise-mini.page.ts` 中添加订单详情页相关方法: - `navigateToOrderDetail(orderId: number)` - `expectOrderDetailHeader(expected: OrderHeaderData)` - `expectOrderDetailBasicInfo(expected: OrderBasicInfoData)` - `getOrderCheckInStats()` - `getOrderRelatedPersons()` - `expectOrderDetailPerson(expected: PersonSummaryData)` ### 任务 2: 创建 E2E 测试文件 - [x] 创建 `web/tests/e2e/specs/cross-platform/order-detail-sync.spec.ts` ### 任务 3: 实现测试用例 - AC1 头部信息验证 - [x] 测试:验证订单详情页头部所有字段显示正确 - [x] 测试:验证订单编号格式正确 - [x] 测试:验证时间格式显示正确 ### 任务 4: 实现测试用例 - AC2 基本信息验证 - [x] 测试:验证订单详情页基本信息所有字段 - [x] 测试:验证预计/实际人数计算正确 - [x] 测试:验证日期字段显示正确 ### 任务 5: 实现测试用例 - AC3 打卡数据统计验证 - [x] 测试:验证打卡数据统计显示正确 ### 任务 6: 实现测试用例 - AC4 关联人才列表验证 - [x] 测试:验证关联人才列表显示所有人员 - [x] 测试:验证人才卡片所有字段显示正确 - [x] 测试:后台添加人员后人才列表更新 ### 任务 7: 实现测试用例 - AC5 后台编辑同步验证 - [x] 测试:后台编辑订单名称 → 订单详情页验证 - [x] 测试:后台更新订单状态 → 订单详情页验证 - [x] 测试:后台编辑订单所有字段 → 订单详情页完整验证 ## Dev Agent Record ### Completion Notes 1. **Story 13.11 实现状态**: - ✅ Page Object 方法已添加到 `enterprise-mini.page.ts`: - `navigateToOrderDetail(orderId: number)` - 直接导航到订单详情页 - `expectOrderDetailHeader(expected: OrderHeaderData)` - 验证头部信息 - `expectOrderDetailBasicInfo(expected: OrderBasicInfoData)` - 验证基本信息 - `getOrderCheckInStats()` - 获取打卡数据统计 - `getOrderRelatedPersons()` - 获取关联人才列表 - `expectOrderDetailPerson(expected: PersonSummaryData)` - 验证人才卡片信息 - `clickOrderCardFromList(orderName?: string)` - 从列表点击订单卡片 - `navigateToOrderList()` - 导航到订单列表页 - ✅ E2E 测试文件已创建:`web/tests/e2e/specs/cross-platform/order-detail-sync.spec.ts` - ✅ 所有 AC 测试用例已实现(AC1-AC5) 2. **已知阻塞问题**: - ⚠️ **模块导入问题**(从 Story 13.7 已知问题): - 小程序缺少 `@d8d/yongren-dashboard-ui/pages/Dashboard/Dashboard` 模块 - 错误信息: `Cannot find module '@d8d/yongren-dashboard-ui/pages/Dashboard/Dashboard'` - 影响: 小程序无法正常加载,E2E 测试无法正常运行 - 状态: 需要开发团队修复模块导入问题 3. **测试执行状态**: - 测试代码已完整实现,类型检查通过 - E2E 测试被小程序运行时错误阻塞 - 修复模块导入问题后,测试应该能够正常运行 ### File List _Modified files:_ - `web/tests/e2e/pages/mini/enterprise-mini.page.ts` - 添加订单详情页方法(约 390 行新增代码) _Created files:_ - `web/tests/e2e/specs/cross-platform/order-detail-sync.spec.ts` - 订单详情页 E2E 测试文件 ## Change Log - 2026-01-14: Story 13.11 实现完成(受已知问题阻塞) - 添加订单详情页 Page Object 方法到 enterprise-mini.page.ts - 创建 order-detail-sync.spec.ts E2E 测试文件 - 实现 AC1-AC5 所有测试用例 - 发现被 Story 13.7 的已知模块导入问题阻塞 - 状态:review(需要修复模块导入问题后重新运行测试) ## 参考信息 ### 订单详情页 URL `/mini/#/mini/pages/yongren/order/detail/index?id={orderId}` ### 订单详情页字段清单 - **头部**:订单名称、订单编号、订单状态、创建时间、更新时间、企业名称、平台 - **基本信息**:预计人数、实际人数、预计开始日期、实际开始日期、预计结束日期、实际结束日期、渠道 - **打卡数据统计**:本月打卡、工资视频、个税视频 - **关联人才**:姓名、残疾类型、性别、入职日期、工作状态 ### 对应的后台操作 - 创建订单:Story 13.1(已完成) - 编辑订单:Story 13.2(进行中) - 添加人员:Story 10.9, 13.3(进行中)