Files
Agent-System/.doc/test-reports/2026-09-28-admin-password-reset-restore-test-report.md
T
weichen 90e146e424 docs(task): record admin password reset UI restore
Capture the F4-A mis-delete, the dev UI probe, and the CURRENT claim.
2026-09-28 00:51:25 +00:00

4.2 KiB
Raw Blame History

管理台重置密码入口恢复 测试报告

一、 测试背景 (Background)

管理员在「用户与准入治理」找不到重置密码。F4-B 端点已在 dev(39f8c1d1),F4-A(d653e32e)误删了按钮。本轮只恢复 UI 接线。

二、 测试目标 (Test Objectives)

  • 用户列表重新出现「重置密码」,并调用已有 POST /api/v1/admin/users/{id}/reset-password
  • 临时口令为服务端随机值(长度 16),不落报告正文
  • 已完成过首次改密的账号,被重置后的下一次登录必须改密;再下一次登录不再弹出
  • 重置前的口令失效
  • 前端 tsc --noEmit 与 npm test 通过

三、 测试方案与环境 (Test Plan & Environment)

  • OS: Linux;Node v26.10.0;worktree feature/restore-admin-password-reset-2026-09-28 @ f0ecc4c9(UI 提交;文档提交在其后)
  • 前端单测在 worktree web/(node_modules 链接主目录,未入库)
  • 真实 UI:worktree Vite 127.0.0.1:3110 代理本机 dev API 127.0.0.1:8080(/health 200)。未替换用户正在使用的 :3100 进程
  • NOT REQUIRED:产品 PI 全链路。依据:IAM/管理台工程变更,不改工作流模板或提示词;见 PROJECT.md「验证入口」与测试报告规范的工程例外。同 2026-09-24 报告
  • NOT REQUIRED:go test。本任务无 Go 差异

证据:assets/2026-09-28-admin-password-reset-restore/

四、 预期结果 (Expected Results)

用例 预期
探针账号开通后首次登录 must_change_password=true
自行改密后再次登录 must_change_password=false
管理台重置 确认框 + 临时口令长度 16 + 「密码已重置」
用临时口令登录 出现「首次登录安全改密」
改密后再次登录 进入工作台,强制改密弹窗数量为 0
重置前口令 HTTP 401

五、 实际测试结果与判定 (Actual Results & Evaluation)

探针账号 pwreset_probe_mukj4wsy(user id 77)。测完已停用。临时口令与管理员口令不写入本报告。

用例 1:前端类型检查与单测

  • 输入:npx tsc --noEmit;npm test
  • 实际输出:TSC_EXIT=0。node:test pass 525 / fail 0(1487ms);vitest 3 files / 34 passed(327ms)
  • 判定:PASS

用例 2:重置前账号处于「已改密、不再强制」

  • 输入:管理员 API 开通探针 → 初始口令登录 → change-password → 再登录
  • 实际输出:见 result.json:probe_initial_login_must_change 200/true;probe_settled_login_no_force 200/false
  • 判定:PASS
  • 耗时:含在整段探针内(成功那次进程约 3.2s;前一次因管理台内找不到工作台退出按钮失败,已改为先「返回工作台」)

用例 3:管理台重置并强制改密仅一次

  • 输入:http://127.0.0.1:3110 管理员进入「用户与准入治理」,搜索探针账号,点击「重置密码」;用临时口令登录并改密;退出后再登录
  • 实际输出:
    • 按钮可见:01-reset-button.png
    • 确认文案含「一次性临时口令」「下次登录将被强制改密」;ui_prompt_temp_password.length=16;toast「密码已重置」
    • 临时口令登录出现「首次登录安全改密」:02-force-change-modal.png
    • 改密后进入工作台;再次登录 modal_count=0:03-second-login-workbench.png
    • 重置前口令登录 status=401
  • 判定:PASS

六、 自动化测试套件汇总 (Test Suite Execution)

npx tsc --noEmit    # exit 0
npm test            # 525 + 34 PASS,fail 0
go test             # 未运行(无 Go 差异)
产品 PI nightly     # NOT REQUIRED(见第三节)

七、 测试结论与后续优化建议 (Conclusion & Next Steps)

  • UI 恢复达到合入 local dev 的验收。运行中的 :3100 在本提交进入主目录 dev 后由既有 Vite 热更新;本报告的浏览器证据来自 :3110。
  • 强制改密复用既有 FirstLoginPasswordModal,文案仍写「账号由管理员开通」。行为满足「重置后第一次登录必须改密」。
  • 探针账号 76(失败重试)与 77 均已置为 disabled。