Spaces:
Running
Running
| import { describe, it, expect, vi, beforeEach } from 'vitest'; | |
| import { apiClient } from '../../../../utils/apiClient'; | |
| import { adminService } from '../adminService'; | |
| vi.mock('../../../../utils/apiClient', () => ({ apiClient: vi.fn() })); | |
| const mocked = vi.mocked(apiClient); | |
| describe('adminService', () => { | |
| beforeEach(() => vi.clearAllMocks()); | |
| it('getEval fetches the eval endpoint', async () => { | |
| const data = { eval: true }; | |
| mocked.mockResolvedValue(data); | |
| const result = await adminService.getEval(); | |
| expect(mocked).toHaveBeenCalledWith('/api/v1/admin/eval/'); | |
| expect(result).toBe(data); | |
| }); | |
| it('getHealth fetches the health endpoint', async () => { | |
| const data = { health: 'ok' }; | |
| mocked.mockResolvedValue(data); | |
| const result = await adminService.getHealth(); | |
| expect(mocked).toHaveBeenCalledWith('/api/v1/admin/health/'); | |
| expect(result).toBe(data); | |
| }); | |
| it('getUsers fetches the users endpoint', async () => { | |
| const data = [{ id: 1 }]; | |
| mocked.mockResolvedValue(data); | |
| const result = await adminService.getUsers(); | |
| expect(mocked).toHaveBeenCalledWith('/api/v1/admin/users/'); | |
| expect(result).toBe(data); | |
| }); | |
| it('toggleStaff posts to the toggle-staff endpoint', async () => { | |
| const data = { ok: true }; | |
| mocked.mockResolvedValue(data); | |
| const result = await adminService.toggleStaff(5); | |
| expect(mocked).toHaveBeenCalledWith('/api/v1/admin/users/5/toggle-staff/', { method: 'POST' }); | |
| expect(result).toBe(data); | |
| }); | |
| it('toggleActive posts to the toggle-active endpoint', async () => { | |
| const data = { ok: true }; | |
| mocked.mockResolvedValue(data); | |
| const result = await adminService.toggleActive(5); | |
| expect(mocked).toHaveBeenCalledWith('/api/v1/admin/users/5/toggle-active/', { method: 'POST' }); | |
| expect(result).toBe(data); | |
| }); | |
| }); | |