import { describe, it, expect, vi, beforeEach } from 'vitest' vi.mock('@/utils/request', () => ({ default: { get: vi.fn(), post: vi.fn(), put: vi.fn(), delete: vi.fn(), }, })) import request from '@/utils/request' import { getReviewFeed, getReportDetail, getFragmentDetail, getTaskReview } from '@/api/review' const mockedRequest = vi.mocked(request) describe('review API', () => { beforeEach(() => { vi.clearAllMocks() }) it('getReviewFeed calls GET /review/feed with limit', async () => { mockedRequest.get.mockResolvedValue({ code: 200, data: [] }) const result = await getReviewFeed(10) expect(mockedRequest.get).toHaveBeenCalledWith('/review/feed', { limit: 10 }) expect(result).toEqual({ code: 200, data: [] }) }) it('getReviewFeed uses default limit of 30', async () => { mockedRequest.get.mockResolvedValue({ code: 200, data: [] }) await getReviewFeed() expect(mockedRequest.get).toHaveBeenCalledWith('/review/feed', { limit: 30 }) }) it('getReportDetail calls GET /review/report/:id', async () => { mockedRequest.get.mockResolvedValue({ code: 200, data: { id: 1 } }) const result = await getReportDetail(1) expect(mockedRequest.get).toHaveBeenCalledWith('/review/report/1') expect(result).toEqual({ code: 200, data: { id: 1 } }) }) it('getFragmentDetail calls GET /review/fragment/:id', async () => { mockedRequest.get.mockResolvedValue({ code: 200, data: { id: 5 } }) await getFragmentDetail(5) expect(mockedRequest.get).toHaveBeenCalledWith('/review/fragment/5') }) it('getTaskReview calls GET /review/task/:taskNum', async () => { mockedRequest.get.mockResolvedValue({ code: 200, data: {} }) await getTaskReview('T001') expect(mockedRequest.get).toHaveBeenCalledWith('/review/task/T001') }) })