gongxiangp2/components/department-dashboard/DepartmentAccountMenu.test.tsx

17 lines
937 B
TypeScript

import { fireEvent, render, screen } from '@testing-library/react'
import DepartmentAccountMenu from './DepartmentAccountMenu'
let role = 'SYSTEM_ADMIN'
jest.mock('next-auth/react', () => ({ useSession: () => ({ data: { user: { name: '验收用户', role } } }), signOut: jest.fn() }))
test.each(['ADMIN', 'SYSTEM_ADMIN', 'DEPT_ADMIN'])('管理员 %s 可找到原后台入口', current => {
role = current
render(<DepartmentAccountMenu collapsed={false} />)
fireEvent.click(screen.getByRole('button', { name: '打开账户菜单' }))
expect(screen.getByRole('menuitem', { name: '素材库后台' })).toHaveAttribute('href', '/admin')
})
test('普通用户没有后台入口', () => {
role = 'USER'
render(<DepartmentAccountMenu collapsed={false} />)
fireEvent.click(screen.getByRole('button', { name: '打开账户菜单' }))
expect(screen.queryByRole('menuitem', { name: '素材库后台' })).not.toBeInTheDocument()
})