48 lines
1.3 KiB
TypeScript
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
|
|
})
|
|
})
|
|
})
|