update profile page

This commit is contained in:
2026-04-03 15:13:08 +08:00
parent edac6e0c4b
commit acfb94227f
2 changed files with 7 additions and 3 deletions
@@ -5,6 +5,7 @@ import { nextTick } from 'vue'
import { message } from 'ant-design-vue'
import { ApiError } from '@/types/api'
import { useUserStore } from '@/stores/user'
import { fakeJwtWithRole } from '@/test/helpers'
Object.defineProperty(window, 'matchMedia', {
writable: true,
@@ -58,7 +59,7 @@ describe('Profile Page', () => {
vi.mocked(api.get).mockResolvedValue(mockUser)
const store = useUserStore()
store.setToken('h.p.s', 'r.p.s', true)
store.setToken(fakeJwtWithRole('administrator'), 'r.p.s', true)
store.setUser({ ...mockUser })
const { default: ProfilePage } = await import('../index.vue')
@@ -5,6 +5,7 @@ import { nextTick } from 'vue'
import { message } from 'ant-design-vue'
import { useUserManageStore, type UserRecord } from '@/stores/user-manage'
import { useUserStore } from '@/stores/user'
import { fakeJwtWithRole } from '@/test/helpers'
// jsdom 不支持 matchMediaAnt Design Vue 响应式布局需要
Object.defineProperty(window, 'matchMedia', {
@@ -202,8 +203,9 @@ describe('Users Page', () => {
return Promise.resolve(mockPaginatedResponse) as never
})
// 设置 admin 用户以显示操作按钮
// 设置 admin 用户以显示操作按钮isAdmin 从 JWT 派生)
const userStore = useUserStore()
userStore.setToken(fakeJwtWithRole('administrator'), 'rt')
userStore.setUser({ id: 1, username: 'admin', email: 'a@a.com', role: 'administrator', status: 1 })
const { default: UsersPage } = await import('../index.vue')
@@ -265,8 +267,9 @@ describe('Users Page', () => {
const { api } = await import('@/utils/request')
vi.mocked(api.get).mockResolvedValue(mockPaginatedResponse)
// 设置非 admin 用户
// 设置非 admin 用户JWT 中 role 为 accessor
const userStore = useUserStore()
userStore.setToken(fakeJwtWithRole('accessor'), 'rt')
userStore.setUser({ id: 2, username: 'viewer', email: 'v@v.com', role: 'accessor', status: 1 })
const { default: UsersPage } = await import('../index.vue')