SOP-502:CRM 创建合同工作流 E2E 测试

支持复制到 Excel 的标准 SOP 模板;每个 任务(Task ID) 表示一个可打卡的子文档,便于人工/机器按照序号完成并记录进度。

文档元数据

  • 文档类型:SOP / Checklist
  • 适用场景http://localhost:3000/crm/contract 合同管理界面 + 工作流审批流程
  • 创建者:QA / 自动化工程
  • 最近更新时间:2025-12-23
  • 工作流说明:创建合同 → 人事审批 → 生效
  • 相关接口定义core/openapi/crm.swagger.json 中合同相关接口

前置条件

条件 检查方式
本地或测试环境可访问 http://localhost:3000/crm/contract 浏览器打开,页面未返回 500/404
已使用有合同创建权限的用户登录 登录接口/前端登录流程成功,能加载左侧导航
测试数据准备就绪 记录将使用的合同名称,准备客户数据和合同文件
人事审批账号可用 具有人事审批权限的账号可以登录系统

任务矩阵(Excel Checklist 行模板)

每个任务独立一个表格,依次执行并记录状态;状态列可直接粘贴到 Excel 以打勾 [ ][x]

任务 T1:环境与账号验证

入口:http://localhost:3000/crm/contract

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:打开浏览器 浏览器启动成功 浏览器窗口打开 屏幕截图 [x] 步骤 2
步骤2:输入 URL http://localhost:3000/crm/contract 页面开始加载 地址栏显示正确 URL 屏幕截图 [x] 步骤 3
步骤3:登录 账号:admin / 密码:asdfasdf3 登录成功,跳转到主页 左侧导航栏显示 屏幕截图、浏览器日志 [x] 步骤 4
步骤4:导航到「合同」 点击左侧「合同」菜单 页面成功加载、显示合同列表表格、无 500 错误 UI:存在标题「合同列表」、表格;Console:无错误 屏幕截图、浏览器日志 [x] T2

合同列表页面

任务 T2:发起创建合同申请

前置条件:T1 成功且当前在合同列表

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:点击「创建合同」按钮 弹出创建合同对话框 对话框显示,标题为「创建合同」 屏幕截图 [x] 步骤 2
步骤2:填写合同名称 合同名称:测试合同SOP502 字段成功填写,无验证错误 输入框显示正确内容 屏幕截图 [x] 步骤 3
步骤3:选择客户 客户:ceshi 下拉列表成功展开,客户选择成功 下拉列表显示客户列表,选中客户后自动填充关联信息 屏幕截图 [x] 步骤 4
步骤4:确认自动填充信息 系统自动填充销售、甲方、乙方、合同金额等信息 字段自动填充:销售=超级管理员,甲方=甲方1,乙方=邮政,金额=100000 屏幕截图 [x] 步骤 5
步骤5:填写备注(可选) 备注:SOP测试合同创建工作流 字段成功填写 输入框显示正确内容 屏幕截图 [x] 步骤 6
步骤6:确认合同周期 合同周期:2025年12月23日 - 2026年01月31日 日期范围显示正确 日期选择器显示正确日期 屏幕截图 [x] 步骤 7
步骤7:上传合同附件 上传文件:PDF格式 文件上传成功,显示文件名 文件列表显示已上传的文件 屏幕截图 [x] 步骤 8
步骤8:点击「创建」按钮 对话框关闭,显示创建成功提示,提示"点击此处查看审批流程" UI:成功提示弹窗;toast:合同创建成功 屏幕截图 [x] T3

创建合同对话框

选择客户下拉列表

客户选择成功

表单填写完成

创建成功提示

字段验证规则说明

字段 验证规则 错误提示
合同名称 必填,最少 2 个字符 "最少两个字符"
选择客户 必填 "请选择客户"
选择销售 自动填充,可修改
甲方 自动填充,可修改
乙方 自动填充,可修改
合同金额 必填,数字类型 "请输入合同金额"
合同周期 必填,日期范围 "请选择合同周期"
合同上传 必填,仅支持 PDF 格式 "上传后缀为 .pdf 格式的文件"

任务 T3:查看工作流审批状态

前置条件:T2 成功,合同创建申请已提交

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:进入工作流页面 点击左侧「工作流」菜单或点击成功提示中的「点击此处」链接 跳转到工作流列表页面 URL变为 /crm/flows,页面显示工作流列表 屏幕截图 [x] 步骤 2
步骤2:查找创建合同工作流 在列表中查找「创建合同」工作流 找到对应的工作流记录,状态为"审核中" 工作流列表中显示最新创建的合同工作流,描述显示"等待审批" 屏幕截图 [x] 步骤 3
步骤3:点击工作流查看详情 点击工作流名称或行 打开工作流详情抽屉/对话框 对话框显示合同详细信息和审批流程 屏幕截图 [x] T4

工作流列表页面

工作流详情页面

任务 T4:人事审批流程

前置条件:T3 成功,工作流详情页面已打开

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:查看审批详情 点击「审批详情」标签页 显示合同详细信息:合同编号、合同名称、客户、金额、周期、附件等 页面显示完整的合同信息,包含合同编号(如HT20251223-0003)、状态(PENDING) 屏幕截图 [x] 步骤 2
步骤2:查看审批历史 点击「审批历史」标签页 显示审批流程:已提交的步骤和待审批人员 审批历史显示:超级管理员已提交,待审批人员包括人事部成员(谭仁、李虹信) 屏幕截图 [x] 步骤 3
步骤3:进行审批操作 点击「审批详情」标签,点击「通过」按钮 审批成功,工作流状态更新 页面显示审批成功提示或状态变更 屏幕截图 [x] 步骤 4
步骤4:确认审批结果 关闭工作流详情,返回工作流列表或合同列表 工作流状态更新为已通过或下一审批节点 工作流列表中状态更新 屏幕截图 [x] T5

审批详情页面

审批历史页面

审批流程说明

  1. 发起人:超级管理员提交合同创建申请
  2. 审批节点:人事部审批(需要谭仁和李虹信审批)
  3. 审批操作
  4. 通过:合同进入下一审批节点或直接生效
  5. 驳回:合同返回给发起人修改

任务 T5:验证合同创建成功

前置条件:T4 审批完成

Action Steps Input / Payload 预期结果 验证方式 证据 状态 下游任务
步骤1:返回合同列表 点击左侧「合同」菜单 页面跳转到合同列表 URL变为 /crm/contract,显示合同列表 屏幕截图 [x] 步骤 2
步骤2:查找新创建的合同 在列表顶部查找刚创建的合同 找到合同记录,显示合同编号、客户、负责人等信息 列表中显示合同记录:合同名称=合同测试,合同编号=HT20251223-0003,客户=ceshi 屏幕截图 [x] 步骤 3
步骤3:点击合同查看详情 点击合同名称 打开合同详情抽屉 显示完整的合同信息:客户、销售、甲方、乙方、预算、合同预览等 屏幕截图 [x] 步骤 4
步骤4:验证合同信息完整性 比对创建时填写的信息与详情页显示的信息 所有信息一致,合同附件可下载查看 合同详情与创建时输入一致 屏幕截图 [x]

合同列表最终状态

合同详情页面

工作流程图

发起申请 → 人事审批 → 生效
   ↓           ↓          ↓
填写合同   谭仁/李虹信   合同创建完成
信息       点击通过     可在列表查看

API 参考(必须遵循的接口)

接口 方法 说明 关键字段 & 数据格式
/api/v1/contracts POST 创建合同 body 需要包含:
- name(string):合同名称
- customerId(integer):客户ID
- salesId(integer):销售ID
- partyA(string):甲方
- partyB(string):乙方
- amount(number):合同金额
- startDate(string):开始日期
- endDate(string):结束日期
- file(string):合同文件
/api/v1/contracts GET 获取合同列表 可通过 filters 参数筛选,响应包含合同列表
/api/v1/contracts/{id} GET 获取合同详情 返回指定ID的合同完整信息
/api/v1/workflows GET 获取工作流列表 返回工作流列表,包含审批状态
/api/v1/workflows/{id}/approve POST 审批工作流 body 需要包含审批决策(通过/驳回)和审批意见

参见完整定义:core/openapi/crm.swagger.json 中合同和工作流相关接口定义。

测试数据记录

字段 测试值 说明
合同名称 测试合同SOP502 / 合同测试 用于测试的合同名称
合同编号 HT20251223-0003 系统自动生成的合同编号
客户 ceshi 选择的测试客户
销售 超级管理员 自动填充的销售人员
甲方 甲方1 自动填充的甲方信息
乙方 邮政 自动填充的乙方信息
合同金额 100,000.00 合同金额(元)
合同周期 2025-12-23 至 2026-01-31 合同有效期(39天)
审批人 谭仁、李虹信 人事部审批人员

注意事项

  1. 工作流触发:创建合同时会自动触发"创建合同"工作流,进入审批流程
  2. 审批权限:只有具有人事审批权限的用户才能看到待审批的合同工作流
  3. 合同状态
  4. PENDING:待审批
  5. APPROVED:已通过
  6. REJECTED:已驳回
  7. 合同文件:仅支持 PDF 格式的文件上传
  8. 数据清理:测试完成后,建议清理测试数据,避免影响其他测试

相关文档

变更历史

日期 版本 变更内容 作者
2025-12-23 1.0 初始版本,创建合同工作流SOP QA Team