6.9 KiB
6.9 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | HCLT-0 | 合同建档 | 记录用户已批准创建并禁用一个带 HRWDTEST 标记的公网 OA 测试员工和企业微信测试成员;本轮只做 QA-only runner、公网闭环验证和事实源回填,不改业务 API/schema/UI。 | 1) Issue CSV 校验通过;2) 范围明确为 HRWDTEST 创建-更新-禁用闭环;3) 明确不删除企微成员、不打印 secret/token/cookie/完整手机号;4) 不涉及 ERP、真实支付、图片 OCR、银行流水导入、生产恢复或数据库重置。 | 受影响流程:HRWD 公网验证合同 -> 后续 QA runner;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv。 | python3|manual | DONE | DONE | DONE | issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv | [] | 回滚路径:回退本 CSV 和文档回填;运行期测试员工不删除,按离职/禁用保留审计链。 |
| 3 | HCLT-1 | 公网前置核验 | 核验 /ready、live smoke、正式 feature flags 和企业微信入口状态,确认 employee_lifecycle_v1、hr_wecom_directory_sync_v1、payment_batch_v1、erp_sync 均符合正式口径。 | 1) live smoke env strict 通过;2) feature flag 检查通过:payment_batch_v1=force_on、erp_sync=force_off、employee_lifecycle_v1=enabled、hr_wecom_directory_sync_v1=force_on;3) 输出不包含 secret、token、cookie 或完整手机号。 | 受影响流程:公网前置 -> HRWD 通讯录写入安全门;验证步骤:set -a && source ~/.hyb-oa/live-smoke.env && set +a;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-smoke-env.mjs --strict;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/check-live-feature-flags.mjs --expect payment_batch_v1=force_on --expect erp_sync=force_off --expect employee_lifecycle_v1=enabled --expect hr_wecom_directory_sync_v1=force_on。 | node|bash | DONE | DONE | DONE | scripts/qa/check-live-smoke-env.mjs|scripts/qa/check-live-feature-flags.mjs | ["HCLT-0"] | 公网只读前置;失败则不创建测试员工。 |
| 4 | HCLT-2 | QA-only runner | 新增 scripts/qa/run-hrwd-contact-live-test.mjs,要求 HRWD_CONTACT_LIVE_APPROVED=1 才允许公网写入,统一使用 live smoke 账号、HRWDTEST marker 和脱敏输出。 | 1) 缺 HRWD_CONTACT_LIVE_APPROVED=1 时 runner 拒绝写入;2) runner 不打印一次性密码、完整手机号、cookie、token、secret 或企微原始 payload;3) node --check 通过;4) 仅新增 QA-only 脚本。 | 受影响流程:QA runner -> 管理员登录 -> 测试员工闭环;验证步骤:node --check scripts/qa/run-hrwd-contact-live-test.mjs;git diff --check。 | node|bash | DONE | DONE | DONE | scripts/qa/run-hrwd-contact-live-test.mjs | ["HCLT-0"] | 如脚本自身阻断可最小修复;若发现业务代码缺陷,停止并另建 hotfix Issue。 |
| 5 | HCLT-3 | 入职创建 | 管理员创建 HRWDTEST 测试员工,payload 使用 syncWecomDirectory=false;随后发起 onboarding,由 onboarding 钩子触发企业微信成员创建。 | 1) OA 测试员工创建成功并返回脱敏员工 ID;2) onboarding 后企业微信通讯录 create 同步 success;3) 企微 errcode=0;4) 创建失败时自动换测试手机号重试一次;5) 创建成功后不删除测试员工。 | 受影响流程:管理员 -> 创建员工 -> 入职启动 -> 企微通讯录创建 -> 绑定;验证步骤:HRWD_CONTACT_LIVE_APPROVED=1 QA_ISSUE_ID=HCLT LIVE_SMOKE_BASE_URL=https://oa.hyinda.com node scripts/qa/run-hrwd-contact-live-test.mjs。 | node|fetch | DONE | DONE | DONE | scripts/qa/run-hrwd-contact-live-test.mjs | ["HCLT-1","HCLT-2"] | 测试数据 marker:HRWDTEST;手机号 199 开头,只输出 mask。 |
| 6 | HCLT-4 | 资料更新 | 修改 HRWDTEST 测试员工职位字段,验证企业微信通讯录 update 成功。 | 1) OA profile patch 成功;2) 企微 update 同步 success;3) 企微 errcode=0;4) 同步记录可由管理员读取。 | 受影响流程:管理员 -> 修改员工资料 -> 企微通讯录更新 -> 同步记录;验证步骤:同 HCLT-3 runner 输出 update 阶段 PASS。 | node|fetch | DONE | DONE | DONE | scripts/qa/run-hrwd-contact-live-test.mjs | ["HCLT-3"] | 仅修改 HRWDTEST 测试员工;不触碰真实员工。 |
| 7 | HCLT-5 | 离职禁用 | 发起 HRWDTEST 测试员工离职并完成 checklist,验证 OA 账号归档/禁用、会话失效、企业微信成员 disable 成功。 | 1) offboarding start 成功;2) checklist 完成后 OA 员工 status=archived 或 employmentStatus=inactive;3) 企微 disable 同步 success 且 errcode=0;4) 离职后使用一次性密码登录失败;5) 企业微信成员保留禁用不删除。 | 受影响流程:管理员 -> 离职启动 -> checklist -> OA 账号禁用 -> 企微成员禁用 -> 登录负例;验证步骤:同 HCLT-3 runner 输出 disable 和 login-negative 阶段 PASS。 | node|fetch | DONE | DONE | DONE | scripts/qa/run-hrwd-contact-live-test.mjs | ["HCLT-4"] | 若禁用失败,停止并记录 PAUSE_FOR_FIX;不删除企微成员。 |
| 8 | HCLT-6 | 权限审计 | 验证普通员工不可查看/重试他人同步状态,管理员可查看同步记录,审计包含创建、更新、禁用或重试相关动作。 | 1) 普通员工读取 HRWDTEST 同步状态返回 403/权限拒绝;2) 管理员可读取同步记录;3) 审计日志能查到 WECOM_DIRECTORY_CREATE、WECOM_DIRECTORY_UPDATE、WECOM_DIRECTORY_DISABLE;4) 若审计接口不可用则明确 FAIL,不伪造通过。 | 受影响流程:权限边界 -> 同步记录 -> 审计日志;验证步骤:同 HCLT-3 runner 输出 permission 和 audit 阶段 PASS。 | node|fetch | DONE | DONE | DONE | scripts/qa/run-hrwd-contact-live-test.mjs | ["HCLT-5"] | 审计输出只记录动作和数量,不打印 extra 中的敏感字段。 |
| 9 | HCLT-7 | 收口回填 | 回填 CSV、人工试运行报告和事实源状态,运行公网 readiness,中文提交。 | 1) Issue CSV 按实测回填 DONE/阻断;2) docs/trialrun/人工试运行报告.md、docs/文档索引.md、docs/文档事实源状态矩阵.md 已记录 HCLT 结果;3) run-live-smoke-readiness 通过;4) audit-docs、git diff --check 通过;5) 中文 commit 引用 HCLT。 | 受影响流程:HRWD 通讯录公网闭环 -> 事实源 -> 公网 readiness -> 提交;验证步骤:QA_ISSUE_ID=HCLT LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;node scripts/qa/audit-docs.mjs --check-registry;git diff --check;git commit -m 'HCLT 收口企微通讯录公网闭环测试'。 | bash|node|git | DONE | DONE | DONE | docs/trialrun/人工试运行报告.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv | ["HCLT-6"] | 公网测试员工最终保留离职/禁用状态;不删除成员,不重置数据库。 |