fix(test): 修复useAuth测试中mock setAuth不写localStorage的问题 #677

Merged
auto-approve-bot merged 1 commits from fix/useAuth-test-localStorage into develop 2026-07-21 13:19:58 +08:00
Owner

问题

Frontend Unit Tests 中有 2 个 useAuth 测试失败:

  • 登录成功时保存 token 并调用 setAuth
  • 没有 refresh_token 时从 localStorage 移除

根因

测试 mock 了 useAuthStore,其中 setAuth 是空的 vi.fn(),不会真正写入 localStorage。但测试断言又期望 localStorage 中有 token。

之前测试能过是因为 useLogin 可能直接操作 localStorage,改为走 authStore.setAuth 后测试 mock 没有同步更新。

修复

让 mock 的 setAuth / clearAuth 模拟真实的 localStorage 写入/清除行为。

## 问题 Frontend Unit Tests 中有 2 个 useAuth 测试失败: - 登录成功时保存 token 并调用 setAuth - 没有 refresh_token 时从 localStorage 移除 ## 根因 测试 mock 了 `useAuthStore`,其中 `setAuth` 是空的 `vi.fn()`,不会真正写入 localStorage。但测试断言又期望 localStorage 中有 token。 之前测试能过是因为 useLogin 可能直接操作 localStorage,改为走 authStore.setAuth 后测试 mock 没有同步更新。 ## 修复 让 mock 的 setAuth / clearAuth 模拟真实的 localStorage 写入/清除行为。
xiaoxia added 1 commit 2026-07-21 13:17:08 +08:00
fix(test): 修复useAuth测试中mock setAuth不写localStorage的问题
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 18s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m14s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m39s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m45s
AI Code Review / AI Code Review (pull_request) Successful in 2m5s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 2m48s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 8s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 2m43s
7a4ffcf1d4

🚀 预览环境已部署

项目 详情
PR号 #677
预览链接 https://pr-677.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #677 | | 预览链接 | [https://pr-677.preview.xiaoxiajianji.com](https://pr-677.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-07-21 13:18:55 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-21 13:18:55 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
Collaborator

代码审查结果 - PR #677

⚠️ 问题(0个需要修改)

💡 建议(1个可选)

  1. 类型定义优化mockSetAuth 的第一个参数使用了 any 类型(_user: any),虽然这是测试代码且参数未使用,但建议定义具体的接口或使用 unknown 以保持类型安全。

格式检查通过 | 逻辑审查需修改 | 建议关注性能


🤖 由 AI 代码审查机器人自动生成 | 2026-07-21 13:19:14 | 模型:

## 代码审查结果 - PR #677 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(1个可选) 1. **类型定义优化**:`mockSetAuth` 的第一个参数使用了 `any` 类型(`_user: any`),虽然这是测试代码且参数未使用,但建议定义具体的接口或使用 `unknown` 以保持类型安全。 --- ✅ 格式检查通过 | ✅ 逻辑审查需修改 | ✅ 建议关注性能 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-21 13:19:14 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot merged commit ec5b29197e into develop 2026-07-21 13:19:58 +08:00
auto-approve-bot deleted branch fix/useAuth-test-localStorage 2026-07-21 13:19:58 +08:00

🗑️ 预览环境已清理

PR #677 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #677 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.