|
|
@@ -9,8 +9,8 @@ inputDocuments:
|
|
|
path: _bmad-output/planning-artifacts/architecture.md
|
|
|
type: architecture
|
|
|
loadedAt: '2026-01-08T02:10:00.000Z'
|
|
|
-revisedAt: '2026-01-10'
|
|
|
-revisionNotes: '修订范围:根据修订后的 PRD,从"E2E测试工具包开发"更新为"Web E2E 测试覆盖",业务测试为主,工具包为支持手段'
|
|
|
+revisedAt: '2026-01-11'
|
|
|
+revisionNotes: '修订范围:根据修订后的 PRD,从"E2E测试工具包开发"更新为"Web E2E 测试覆盖",业务测试为主,工具包为支持手段;增加 Epic C: 订单管理 E2E 测试'
|
|
|
---
|
|
|
|
|
|
# 188-179-template-6 - Epic Breakdown
|
|
|
@@ -23,8 +23,9 @@ revisionNotes: '修订范围:根据修订后的 PRD,从"E2E测试工具包
|
|
|
|
|
|
**Epic 组织:**
|
|
|
- **Epic A: 残疾人管理 E2E 测试** ✅ 已完成
|
|
|
-- **Epic B: 区域管理 E2E 测试** 🔄 当前目标
|
|
|
-- **Epic C: e2e-test-utils 包维护** 🌟 支持性任务
|
|
|
+- **Epic B: 区域管理 E2E 测试** 🔄 待开发
|
|
|
+- **Epic C: 订单管理 E2E 测试** 📋 待开发
|
|
|
+- **Epic D: e2e-test-utils 包维护** 🌟 支持性任务
|
|
|
|
|
|
## Requirements Inventory
|
|
|
|
|
|
@@ -308,7 +309,7 @@ Error: Radix Select 等待超时
|
|
|
| FR46-FR50 | Epic 3, 4, 5, 8 | 可扩展性(各工具的配置和扩展支持) |
|
|
|
| FR1-FR50 | Epic 8 | 区域管理 E2E 测试(复用现有工具,必要时扩展级联选择/树形结构工具) |
|
|
|
|
|
|
-**Epic 规划变更说明(2026-01-10):**
|
|
|
+**Epic 规划变更说明(2026-01-11):**
|
|
|
- Epic 1: ✅ 已完成(Select 工具基础框架)
|
|
|
- Epic 2: ✅ 已完成(在现有 E2E 测试中验证 Select 工具)
|
|
|
- Epic 3: 🆕 文件上传工具开发与验证(遵循 Epic 2 成功模式)
|
|
|
@@ -317,6 +318,8 @@ Error: Radix Select 等待超时
|
|
|
- Epic 6: 完整验证(残疾人管理)
|
|
|
- Epic 7: 文档与开发者体验
|
|
|
- Epic 8: 🆕 区域管理 E2E 测试 (Epic B - 业务测试 Epic)
|
|
|
+- Epic 9: ✅ 已完成(残疾人管理完整 E2E 测试覆盖)
|
|
|
+- Epic 10: 🆕 订单管理 E2E 测试 (Epic C - 业务测试 Epic)
|
|
|
|
|
|
**"先验证再扩展"策略:**
|
|
|
基于 Epic 2 的成功经验,每个工具都遵循"开发 → E2E 验证 → 稳定性验证"的模式:
|
|
|
@@ -1800,3 +1803,530 @@ fi
|
|
|
- 两个 Epic 可以并行运行
|
|
|
|
|
|
---
|
|
|
+
|
|
|
+## Epic 10: 订单管理 E2E 测试 (Epic C)
|
|
|
+
|
|
|
+**目标:** 测试开发者可以为订单管理功能编写完整的 E2E 测试,验证订单的 CRUD、状态流转、人员关联和附件管理功能。
|
|
|
+
|
|
|
+**业务分组:** Epic C(业务测试 Epic)
|
|
|
+
|
|
|
+**背景:**
|
|
|
+- Epic A(残疾人管理)已完成 E2E 测试覆盖
|
|
|
+- Epic B(区域管理)待开发
|
|
|
+- 订单管理是招聘系统的核心业务功能
|
|
|
+- 涉及复杂表单(多选择器联动)、状态流转、人员关联等场景
|
|
|
+- 是测试工具演进的绝佳实践场
|
|
|
+
|
|
|
+**范围:**
|
|
|
+- ✅ 订单列表功能测试(查看、搜索、筛选、分页)
|
|
|
+- ✅ 订单 CRUD 测试(创建、编辑、删除订单)
|
|
|
+- ✅ 订单状态流转测试(激活订单、关闭订单)
|
|
|
+- ✅ 订单详情查看测试
|
|
|
+- ✅ 人员关联功能测试(添加人员到订单、管理工作状态)
|
|
|
+- ✅ 附件管理测试(添加附件)
|
|
|
+- ✅ 完整流程测试
|
|
|
+- ✅ 稳定性验证(10次连续运行)
|
|
|
+- ❌ 不修改后端业务逻辑
|
|
|
+- ❌ 不修改前端 UI 组件
|
|
|
+
|
|
|
+**模式:** 业务测试为主,工具包支持为辅(遵循 Epic A 成功模式)
|
|
|
+
|
|
|
+**依赖:**
|
|
|
+- Epic 1: ✅ 已完成(Select 工具基础框架)
|
|
|
+- Epic 2: ✅ 已完成(Select 工具在真实 E2E 测试中验证)
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+1. 订单管理核心功能有完整的 E2E 测试覆盖
|
|
|
+2. 所有测试连续运行 10 次,100% 通过率
|
|
|
+3. 必要时扩展 e2e-test-utils 工具包(复杂表单提交、状态流转、资产附件等)
|
|
|
+4. 测试可作为其他复杂业务模块 E2E 测试的参考
|
|
|
+
|
|
|
+**交付物:**
|
|
|
+- 订单管理 Page Object
|
|
|
+- 订单列表测试用例
|
|
|
+- 订单 CRUD 测试用例
|
|
|
+- 订单状态流转测试用例
|
|
|
+- 人员关联测试用例
|
|
|
+- 附件管理测试用例
|
|
|
+- 完整流程测试用例
|
|
|
+- 稳定性验证报告
|
|
|
+- 工具包扩展文档(如有)
|
|
|
+
|
|
|
+**FRs covered:** FR1-FR50(复用现有工具,必要时扩展)
|
|
|
+
|
|
|
+**业务功能覆盖清单:**
|
|
|
+
|
|
|
+| 业务功能 | 测试场景数 | 描述 |
|
|
|
+|---------|-----------|------|
|
|
|
+| **订单列表** | 4 | 查看、搜索、筛选、分页 |
|
|
|
+| **创建订单** | 3 | 基本创建、多选择器、复杂表单 |
|
|
|
+| **编辑订单** | 2 | 基本编辑、状态变更 |
|
|
|
+| **删除订单** | 2 | 直接删除、级联删除验证 |
|
|
|
+| **订单详情** | 2 | 基本详情、完整信息展示 |
|
|
|
+| **状态流转** | 3 | 激活订单、关闭订单、状态限制 |
|
|
|
+| **人员关联** | 3 | 添加人员、管理工作状态、人员列表 |
|
|
|
+| **附件管理** | 2 | 添加附件、附件验证 |
|
|
|
+| **完整流程** | 2 | 新增完整流程、编辑完整流程 |
|
|
|
+
|
|
|
+**总计:** 23 个测试场景
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.1: 创建订单管理 Page Object
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要创建订单管理的 Page Object,
|
|
|
+以便组织订单管理相关的页面元素和操作。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** Epic 9 的 Page Object 模式已验证
|
|
|
+**When** 创建 `web/tests/e2e/pages/admin/order-management.page.ts`
|
|
|
+**Then** 定义订单列表页面的选择器和操作方法
|
|
|
+**And** 定义创建订单表单的选择器和操作方法
|
|
|
+**And** 定义编辑订单表单的选择器和操作方法
|
|
|
+**And** 定义订单详情对话框的选择器和操作方法
|
|
|
+**And** 定义人员关联相关的选择器和操作方法
|
|
|
+**And** 定义附件上传相关的选择器和操作方法
|
|
|
+**And** 遵循现有 Page Object 设计模式
|
|
|
+**And** 所有方法有完整的 TypeScript 类型定义
|
|
|
+
|
|
|
+**参考:**
|
|
|
+- `web/tests/e2e/pages/admin/disability-person.page.ts` 作为参考
|
|
|
+- 遵循项目的 Page Object 设计模式
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.2: 编写订单列表查看测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写订单列表查看的 E2E 测试,
|
|
|
+以便验证订单列表的基本功能和数据展示。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单管理 Page Object 已创建
|
|
|
+**When** 编写订单列表查看测试用例
|
|
|
+**Then** 验证订单列表按预期加载
|
|
|
+**And** 验证订单数据的正确展示(订单名称、平台、公司、渠道、状态等)
|
|
|
+**And** 验证订单状态徽章显示正确(草稿、已确认、进行中等)
|
|
|
+**And** 验证工作状态徽章显示正确(未就业、待就业、已就业、已离职)
|
|
|
+**And** 验证分页功能
|
|
|
+**And** 测试在真实浏览器中通过
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-list.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.3: 编写订单搜索和筛选测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写订单搜索和筛选的 E2E 测试,
|
|
|
+以便验证多维度搜索和筛选功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单列表 Page Object 已创建
|
|
|
+**When** 编写搜索和筛选测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **订单名称搜索**
|
|
|
+ - 输入订单名称关键词搜索
|
|
|
+ - 验证搜索结果正确过滤
|
|
|
+
|
|
|
+2. **订单状态筛选**
|
|
|
+ - 按订单状态筛选(草稿、已确认、进行中等)
|
|
|
+ - 验证筛选结果正确
|
|
|
+
|
|
|
+3. **工作状态筛选**
|
|
|
+ - 按工作状态筛选(未就业、待就业、已就业、已离职)
|
|
|
+ - 验证筛选结果正确
|
|
|
+
|
|
|
+4. **平台筛选**
|
|
|
+ - 选择平台进行筛选
|
|
|
+ - 使用 `selectRadixOption` 或 `selectRadixOptionAsync`
|
|
|
+ - 验证筛选结果正确
|
|
|
+
|
|
|
+5. **公司筛选**
|
|
|
+ - 选择公司进行筛选
|
|
|
+ - 验证筛选结果正确
|
|
|
+
|
|
|
+6. **渠道筛选**
|
|
|
+ - 选择渠道进行筛选
|
|
|
+ - 验证筛选结果正确
|
|
|
+
|
|
|
+7. **日期范围筛选**
|
|
|
+ - 选择开始日期和结束日期
|
|
|
+ - 验证日期范围内的订单正确显示
|
|
|
+
|
|
|
+8. **重置筛选**
|
|
|
+ - 重置所有筛选条件
|
|
|
+ - 验证显示全部订单
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-filter.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.4: 编写创建订单测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写创建订单的 E2E 测试,
|
|
|
+以便验证订单创建功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单管理 Page Object 已创建
|
|
|
+**When** 编写创建订单测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **基本创建订单**
|
|
|
+ - 填写必填字段(订单名称、预计开始日期)
|
|
|
+ - 验证订单创建成功
|
|
|
+ - 验证订单出现在列表中
|
|
|
+
|
|
|
+2. **创建订单并选择平台**
|
|
|
+ - 选择平台
|
|
|
+ - 使用 `selectRadixOption` 或 `selectRadixOptionAsync`
|
|
|
+ - 验证平台关联正确
|
|
|
+
|
|
|
+3. **创建订单并选择公司**
|
|
|
+ - 选择公司
|
|
|
+ - 验证公司关联正确
|
|
|
+
|
|
|
+4. **创建订单并选择渠道**
|
|
|
+ - 选择渠道
|
|
|
+ - 验证渠道关联正确
|
|
|
+
|
|
|
+5. **创建完整订单(所有字段)**
|
|
|
+ - 填写所有可选字段
|
|
|
+ - 验证所有数据保存正确
|
|
|
+
|
|
|
+6. **表单验证测试**
|
|
|
+ - 未填写必填字段时提交
|
|
|
+ - 验证错误提示显示正确
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-create.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.5: 编写编辑订单测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写编辑订单的 E2E 测试,
|
|
|
+以便验证订单编辑功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 创建订单测试已通过
|
|
|
+**When** 编写编辑订单测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **编辑订单基本信息**
|
|
|
+ - 修改订单名称
|
|
|
+ - 修改预计开始日期
|
|
|
+ - 验证修改后数据更新
|
|
|
+
|
|
|
+2. **编辑订单关联信息**
|
|
|
+ - 更换平台
|
|
|
+ - 更换公司
|
|
|
+ - 更换渠道
|
|
|
+ - 验证关联更新正确
|
|
|
+
|
|
|
+3. **编辑后验证列表更新**
|
|
|
+ - 编辑订单后返回列表
|
|
|
+ - 验证列表中显示更新后的信息
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-edit.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.6: 编写删除订单测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写删除订单的 E2E 测试,
|
|
|
+以便验证订单删除功能和相关约束。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 编辑订单测试已通过
|
|
|
+**When** 编写删除订单测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **删除草稿状态订单**
|
|
|
+ - 删除草稿状态的订单
|
|
|
+ - 验证删除确认对话框显示
|
|
|
+ - 确认删除
|
|
|
+ - 验证删除成功后列表中不再显示
|
|
|
+
|
|
|
+2. **删除有关联人员的订单**
|
|
|
+ - 尝试删除已关联人员的订单
|
|
|
+ - 验证错误提示或级联删除行为
|
|
|
+ - 根据实际业务逻辑验证结果
|
|
|
+
|
|
|
+3. **取消删除**
|
|
|
+ - 点击删除按钮
|
|
|
+ - 在确认对话框中点击取消
|
|
|
+ - 验证订单未被删除
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-delete.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.7: 编写订单状态流转测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写订单状态流转的 E2E 测试,
|
|
|
+以便验证激活和关闭订单的功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单 CRUD 测试已通过
|
|
|
+**When** 编写订单状态流转测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **激活草稿订单**
|
|
|
+ - 创建草稿状态订单
|
|
|
+ - 点击激活订单按钮
|
|
|
+ - 验证确认对话框显示
|
|
|
+ - 确认激活
|
|
|
+ - 验证订单状态变为进行中
|
|
|
+
|
|
|
+2. **关闭进行中订单**
|
|
|
+ - 激活订单后
|
|
|
+ - 点击关闭订单按钮
|
|
|
+ - 验证确认对话框显示
|
|
|
+ - 确认关闭
|
|
|
+ - 验证订单状态变为已完成
|
|
|
+
|
|
|
+3. **状态限制验证**
|
|
|
+ - 尝试激活非草稿状态的订单
|
|
|
+ - 验证按钮禁用或操作被阻止
|
|
|
+ - 尝试关闭非进行中状态的订单
|
|
|
+ - 验证操作限制正确
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-status.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.8: 编写订单详情查看测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写查看订单详情的 E2E 测试,
|
|
|
+以便验证订单详情页面的完整信息展示。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单管理 Page Object 已创建
|
|
|
+**When** 编写订单详情查看测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **查看基本订单详情**
|
|
|
+ - 打开订单详情
|
|
|
+ - 验证订单名称、平台、公司、渠道显示正确
|
|
|
+ - 验证订单状态、工作状态显示正确
|
|
|
+ - 验证预计开始日期显示正确
|
|
|
+
|
|
|
+2. **查看订单人员列表**
|
|
|
+ - 在详情中查看关联人员
|
|
|
+ - 验证人员列表显示正确
|
|
|
+ - 验证人员工作状态显示正确
|
|
|
+
|
|
|
+3. **查看订单附件**
|
|
|
+ - 在详情中查看附件列表
|
|
|
+ - 验证附件显示正确
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-detail.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.9: 编写人员关联功能测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写人员关联功能的 E2E 测试,
|
|
|
+以便验证添加人员到订单和管理工作状态的功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单管理 Page Object 已创建
|
|
|
+**When** 编写人员关联测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **添加人员到订单**
|
|
|
+ - 打开订单人员管理对话框
|
|
|
+ - 选择残疾人
|
|
|
+ - 设置入职日期和薪资
|
|
|
+ - 验证人员添加成功
|
|
|
+ - 验证人员出现在订单详情中
|
|
|
+
|
|
|
+2. **管理工作状态**
|
|
|
+ - 修改人员工作状态(未就业→待就业→已就业)
|
|
|
+ - 验证状态更新正确
|
|
|
+
|
|
|
+3. **设置实际入职日期**
|
|
|
+ - 设置人员的实际入职日期
|
|
|
+ - 验证日期保存正确
|
|
|
+
|
|
|
+4. **人员离职**
|
|
|
+ - 设置人员为已离职状态
|
|
|
+ - 设置离职日期
|
|
|
+ - 验证离职信息保存正确
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-person.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.10: 编写附件管理测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写订单附件管理的 E2E 测试,
|
|
|
+以便验证添加订单附件的功能。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 订单管理 Page Object 已创建
|
|
|
+**When** 编写附件管理测试用例
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **为订单添加附件**
|
|
|
+ - 打开添加附件对话框
|
|
|
+ - 选择订单人员
|
|
|
+ - 上传附件文件
|
|
|
+ - 验证附件添加成功
|
|
|
+
|
|
|
+2. **附件文件格式验证**
|
|
|
+ - 上传支持的文件格式
|
|
|
+ - 验证上传成功
|
|
|
+ - 尝试上传不支持的格式(如有)
|
|
|
+ - 验证错误提示
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-attachment.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.11: 编写订单完整流程测试
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要编写订单管理的完整流程 E2E 测试,
|
|
|
+以便验证从创建到关闭的端到端场景。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 所有子功能测试已完成
|
|
|
+**When** 编写完整流程测试
|
|
|
+**Then** 包含以下测试场景:
|
|
|
+
|
|
|
+1. **新增订单完整流程**
|
|
|
+ - 创建订单(填写所有字段)
|
|
|
+ - 添加人员到订单
|
|
|
+ - 为人员添加附件
|
|
|
+ - 激活订单
|
|
|
+ - 验证所有步骤成功
|
|
|
+
|
|
|
+2. **编辑订单完整流程**
|
|
|
+ - 打开已有订单
|
|
|
+ - 修改订单信息
|
|
|
+ - 添加更多人员
|
|
|
+ - 关闭订单
|
|
|
+ - 验证所有步骤成功
|
|
|
+
|
|
|
+**测试文件:** `web/tests/e2e/specs/admin/order-complete.spec.ts`
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.12: 运行测试并收集问题和改进建议
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要运行订单管理测试并收集反馈,
|
|
|
+以便发现潜在问题并改进测试或工具。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 所有订单管理测试用例已编写
|
|
|
+**When** 运行完整的订单管理 E2E 测试套件
|
|
|
+**Then** 记录所有问题(失败的测试、错误消息、使用体验)
|
|
|
+**Then** 分类问题:业务逻辑 bug vs 测试代码问题 vs 工具不足
|
|
|
+**And** 整理成问题清单
|
|
|
+**And** 识别是否需要扩展 e2e-test-utils 工具包
|
|
|
+
|
|
|
+**关注点:**
|
|
|
+- 现有 Select 工具是否满足多选择器表单需求?
|
|
|
+- 是否需要复杂表单提交专用工具?
|
|
|
+- 是否需要状态流转测试工具?
|
|
|
+- 是否需要资产附件操作工具?
|
|
|
+- 错误消息是否清晰?
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.13: 扩展工具包(如需要)
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要根据 Story 10.12 的发现扩展 e2e-test-utils 工具包,
|
|
|
+以便更好地支持订单管理等复杂业务模块的测试。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** Story 10.12 已识别工具扩展需求
|
|
|
+**When** 实现必要的工具扩展
|
|
|
+**Then** 如需复杂表单提交工具:实现 `fillComplexForm()` 函数
|
|
|
+**And** 如需状态流转测试工具:实现 `transitionOrderStatus()` 函数
|
|
|
+**And** 如需资产附件工具:实现 `attachAssetToOrder()` 函数
|
|
|
+**And** 编写工具函数的单元测试
|
|
|
+**And** 在订单管理测试中验证新工具
|
|
|
+**And** 更新工具包文档
|
|
|
+
|
|
|
+**可能的工具扩展:**
|
|
|
+```typescript
|
|
|
+// 复杂表单提交工具(示例)
|
|
|
+export async function fillComplexForm(
|
|
|
+ page: Page,
|
|
|
+ fields: Record<string, any>
|
|
|
+): Promise<void>
|
|
|
+
|
|
|
+// 状态流转测试工具(示例)
|
|
|
+export async function transitionOrderStatus(
|
|
|
+ page: Page,
|
|
|
+ fromStatus: string,
|
|
|
+ toStatus: string
|
|
|
+): Promise<void>
|
|
|
+
|
|
|
+// 资产附件操作工具(示例)
|
|
|
+export async function attachAssetToOrder(
|
|
|
+ page: Page,
|
|
|
+ orderId: string,
|
|
|
+ assetFile: string
|
|
|
+): Promise<void>
|
|
|
+```
|
|
|
+
|
|
|
+**依赖:**
|
|
|
+- 仅在 Story 10.12 确认需要时才执行此 Story
|
|
|
+- 如无需扩展,此 Story 可标记为 N/A
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### Story 10.14: 订单管理稳定性验证
|
|
|
+
|
|
|
+作为测试开发者,
|
|
|
+我想要验证订单管理测试的稳定性,
|
|
|
+以便确保测试可以可靠地使用。
|
|
|
+
|
|
|
+**验收标准:**
|
|
|
+
|
|
|
+**Given** 所有问题已修复(包括工具扩展)
|
|
|
+**When** 连续运行订单管理相关测试 10 次
|
|
|
+**Then** 所有测试 100% 通过
|
|
|
+**And** 无 flaky 失败
|
|
|
+**And** 平均执行时间符合预期
|
|
|
+
|
|
|
+**测试场景:**
|
|
|
+- `pnpm test:e2e:chromium order-*.spec.ts` 运行 10 次
|
|
|
+
|
|
|
+**成功标准:**
|
|
|
+- 10/10 次通过 = 100% 稳定性 ✅
|
|
|
+- 9/10 次通过 = 90% 稳定性,需要分析失败原因 ⚠️
|
|
|
+- < 9/10 次通过 = 稳定性不足,需要修复 ❌
|
|
|
+
|
|
|
+**Epic 10 回顾:**
|
|
|
+- 如果 100% 通过,Epic C 完成
|
|
|
+- 如果 < 100%,需要分析并修复问题后再验证
|
|
|
+
|
|
|
+---
|