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

54 行
2.7 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# 执行计划
## 1. 实施前
- [x] 读取 `.trellis/workflow.md`、本 task PRD/design、前端 spec 与测试规约。
- [x] 记录 `git status --short`,保护其他任务变更。
- [x] 用户批准最新规划摘要后运行 `task.py start 08-07-e2e-fixture-repair`。
- [x] 启动 loopback Vite;只使用合成 mock,不访问公网或真实账号。
## 2. 测试修复
- [x] 在 R6 fixture 的 `employee.roleCodes` 增加 `hr`;不修改产品角色映射或添加伪权限字段。
- [x] 保留 `/mobile/leave?view=form` 与 `mobile-leave-form` 断言。
- [x] 将 R111 PC、移动两处附件上传后断言改为语义化“查看补充附件”按钮定位。
- [x] 搜索确认不存在本任务遗漏的同类 `getByText("付款截图.png")`。
## 3. 归档勘误
- [x] 修正归档 `implement.md` 中三处 R6 原因描述,保留临时 runner 历史事实。
- [x] 修正归档 `openclaw-test-prompt.md` 中两处错误诊断。
- [x] 搜索确认归档目录不再把该失败描述为错误的产品/断言诊断。
- [x] 更新父任务 PRD/design/implement:登记两个质量支撑子任务,并固定 fixture 修复先于采购/资产路由化。
## 4. 验证
- [x] committed R6 spec 聚焦运行:7 passed,退出码 0。
- [x] committed R111 spec 完整运行:2 passed,退出码 0。
- [x] `cd client && npm run typecheck && npm run build`。
- [x] task validate、process contract、Trellis governance、`git diff --check`。
- [x] `git diff --name-only -- client/src server` 为空。
## 5. 收尾
- [x] 只读复核确认没有降低测试口径、删除断言或扩大真实权限。
- [x] 使用中文 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 与定位器调整,可独立回退。
- 归档勘误属于事实修正;除非新证据推翻权限链,不应回退为“表单已取消”的错误诊断。