jest.mock('@/lib/prisma', () => ({ prisma: { user: { findUnique: jest.fn(), }, }, })) const { prisma } = require('@/lib/prisma') import { isCurrentAdmin, isCurrentSuperAdmin } from '../admin-permissions' describe('admin permission helpers', () => { beforeEach(() => { jest.resetAllMocks() }) it('禁用的普通管理员不再通过后台权限 helper', async () => { prisma.user.findUnique.mockResolvedValue({ role: 'ADMIN', isSuperAdmin: false, isActive: false, }) await expect(isCurrentAdmin({ user: { id: 'admin-1' } })).resolves.toBe(false) }) it('禁用的最高权限账号不再通过最高权限 helper', async () => { prisma.user.findUnique.mockResolvedValue({ isSuperAdmin: true, isActive: false, }) await expect(isCurrentSuperAdmin({ user: { id: 'super-1' } })).resolves.toBe(false) }) it('可用的最高权限账号仍然通过管理员和最高权限判断', async () => { prisma.user.findUnique.mockResolvedValue({ role: 'USER', isSuperAdmin: true, isActive: true, }) await expect(isCurrentAdmin({ user: { id: 'super-1' } })).resolves.toBe(true) await expect(isCurrentSuperAdmin({ user: { id: 'super-1' } })).resolves.toBe(true) }) })