animetix-web / frontend /src /features /admin /services /__tests__ /adminService.test.ts
MissawB's picture
Upload folder using huggingface_hub (part 4)
df2e14d verified
Raw
History Blame Contribute Delete
1.87 kB
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);
});
});