import { afterEach, describe, expect, it, vi } from 'vitest' import { createExampleApi } from '../api/wrappers/example' describe('createExampleApi', () => { afterEach(() => { vi.unstubAllGlobals() }) it('calls the expected endpoint configuration for getHealth', async () => { const fetchMock = vi.fn().mockResolvedValue({ status: 'ok' }) vi.stubGlobal('$fetch', fetchMock) const api = createExampleApi({ baseURL: '/api', timeoutMs: 10_000 }) const controller = new AbortController() const response = await api.getHealth({ signal: controller.signal }) expect(response).toEqual({ status: 'ok' }) expect(fetchMock).toHaveBeenCalledWith('/health', { baseURL: '/api', signal: controller.signal, timeout: 10_000 }) }) it('calls the expected endpoint configuration for getWelcome', async () => { const fetchMock = vi.fn().mockResolvedValue({ message: 'Welcome' }) vi.stubGlobal('$fetch', fetchMock) const api = createExampleApi({ baseURL: 'https://example.test', timeoutMs: 5_000 }) const response = await api.getWelcome() expect(response).toEqual({ message: 'Welcome' }) expect(fetchMock).toHaveBeenCalledWith('/welcome', { baseURL: 'https://example.test', signal: undefined, timeout: 5_000 }) }) })