Files
nuxt4/tests/example-api.spec.ts
2026-05-03 07:26:12 +00:00

48 lines
1.3 KiB
TypeScript

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
})
})
})