gongxiangp2/lib/__tests__/task-detail-image-browser.test.ts
2026-08-02 01:04:11 +08:00

47 lines
1.3 KiB
TypeScript

import { prepareTaskDetailImagePreview } from '@/lib/task-detail-image-browser'
const mockPreparePerformanceSurveyImagesInBrowser = jest.fn()
jest.mock('@/lib/performance-survey-image-browser', () => ({
preparePerformanceSurveyImagesInBrowser: (...args: unknown[]) => (
mockPreparePerformanceSurveyImagesInBrowser(...args)
),
}))
describe('task-detail-image-browser', () => {
beforeEach(() => {
jest.clearAllMocks()
mockPreparePerformanceSurveyImagesInBrowser.mockResolvedValue([{
file: new File(['preview'], 'photo-preview.webp', { type: 'image/webp' }),
mimeType: 'image/webp',
width: 800,
height: 600,
kind: 'preview',
sourceName: 'photo.jpg',
sourceIndex: 0,
sliceIndex: 0,
sliceCount: 1,
}])
})
test('将 AbortSignal 和 watchdog 超时透传到底层 Worker', async () => {
const controller = new AbortController()
const file = new File(['image'], 'photo.jpg', { type: 'image/jpeg' })
await prepareTaskDetailImagePreview(file, 'main', undefined, {
signal: controller.signal,
timeoutMs: 12_345,
})
expect(mockPreparePerformanceSurveyImagesInBrowser).toHaveBeenCalledWith(
[file],
undefined,
{
profile: 'task_detail_preview',
signal: controller.signal,
timeoutMs: 12_345,
},
)
})
})