ManimCat / frontend /src /lib /api.test.ts
Bin29's picture
Sync from main: c1ef036 chore: document docker persistence volumes
94e1b2f
import { afterEach, describe, expect, it, vi } from 'vitest'
import { cancelJob, getJobStatus } from './api'
import { setCurrentLocale } from '../i18n/runtime'
describe('api error parsing', () => {
afterEach(() => {
vi.restoreAllMocks()
setCurrentLocale('en-US')
})
it('falls back to a stable message when job status returns an empty error body', async () => {
vi.stubGlobal('fetch', vi.fn(async () => new Response('', { status: 500 })))
await expect(getJobStatus('job-1')).rejects.toThrow('Failed to fetch job status')
})
it('falls back to a stable message when cancel returns invalid json', async () => {
setCurrentLocale('zh-CN')
vi.stubGlobal('fetch', vi.fn(async () => new Response('oops', { status: 500 })))
await expect(cancelJob('job-2')).rejects.toThrow('取消任务失败')
})
})