文件
hyb-oa/.trellis/tasks/08-07-e2e-fixture-repair/implement.md
T

2.7 KiB
原始文件 Blame 文件历史

执行计划

1. 实施前

  • 读取 .trellis/workflow.md、本 task PRD/design、前端 spec 与测试规约。
  • 记录 git status --short,保护其他任务变更。
  • 用户批准最新规划摘要后运行 task.py start 08-07-e2e-fixture-repair。
  • 启动 loopback Vite;只使用合成 mock,不访问公网或真实账号。

2. 测试修复

  • 在 R6 fixture 的 employee.roleCodes 增加 hr;不修改产品角色映射或添加伪权限字段。
  • 保留 /mobile/leave?view=form 与 mobile-leave-form 断言。
  • 将 R111 PC、移动两处附件上传后断言改为语义化“查看补充附件”按钮定位。
  • 搜索确认不存在本任务遗漏的同类 getByText("付款截图.png")。

3. 归档勘误

  • 修正归档 implement.md 中三处 R6 原因描述,保留临时 runner 历史事实。
  • 修正归档 openclaw-test-prompt.md 中两处错误诊断。
  • 搜索确认归档目录不再把该失败描述为错误的产品/断言诊断。
  • 更新父任务 PRD/design/implement:登记两个质量支撑子任务,并固定 fixture 修复先于采购/资产路由化。

4. 验证

  • committed R6 spec 聚焦运行:7 passed,退出码 0。
  • committed R111 spec 完整运行:2 passed,退出码 0。
  • cd client && npm run typecheck && npm run build。
  • task validate、process contract、Trellis governance、git diff --check。
  • git diff --name-only -- client/src server 为空。

5. 收尾

  • 只读复核确认没有降低测试口径、删除断言或扩大真实权限。
  • 使用中文 commit message 并引用 08-07-e2e-fixture-repair。
  • 归档任务;不宣称部署、公网或企业微信真机已验证。

验证记录

  • R6:7 个视口全部通过;mobile-leave-form 断言在 committed spec 中执行并通过。
  • R111:PC 与企业微信 UA 用例均通过;两处附件断言均使用唯一语义按钮定位。
  • 静态门禁:typecheck、build、task validate、process contract、Trellis governance、git diff --check 均通过;docs audit 0 errors,保留既有 22 个 warning。
  • 边界:本地 Chromium/UA 模拟和合成 mock;未执行部署、公网、真实账号、企业微信真机或生产数据验证。

只读复核

  • 未改产品运行时代码;没有删除或跳过 mobile-leave-form,没有使用 .first() 掩盖 R111 的重复定位。
  • 当前 task 与父任务规划仍保留,提交和归档在最终门禁后执行。

回滚点

  • 测试文件改动均为单行/小范围 fixture 与定位器调整,可独立回退。
  • 归档勘误属于事实修正;除非新证据推翻权限链,不应回退为“表单已取消”的错误诊断。