fix: flakey test

This commit is contained in:
arabcoders 2026-05-15 19:00:06 +03:00
parent 98dd77f004
commit 2146e51368
2 changed files with 37 additions and 29 deletions

View file

@ -375,13 +375,12 @@ const deleteTask = async (
* @returns Inspect result or null on error
*/
const inspectTaskHandler = async (
request: TaskInspectRequest,
payload: TaskInspectRequest,
): Promise<TaskInspectResponse | null> => {
try {
const response = await fetch('/api/tasks/inspect', {
const response = await request('/api/tasks/inspect', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(request),
body: JSON.stringify(payload),
});
const json = await response.json();

View file

@ -426,8 +426,8 @@ describe('useTasks', () => {
},
}
const fetchSpy = spyOn(globalThis, 'fetch')
fetchSpy.mockResolvedValueOnce(
const requestSpy = spyOn(utils, 'request')
requestSpy.mockResolvedValueOnce(
createMockResponse({
ok: true,
status: 200,
@ -436,14 +436,17 @@ describe('useTasks', () => {
)
const tasks = useTasks()
const result = await tasks.inspectTaskHandler({
url: 'https://www.youtube.com/channel/UCtest123',
})
try {
const result = await tasks.inspectTaskHandler({
url: 'https://www.youtube.com/channel/UCtest123',
})
expect(result).toEqual(inspectResponse)
expect(result?.matched).toBe(true)
expect(result?.handler).toBe('YoutubeHandler')
fetchSpy.mockRestore()
expect(result).toEqual(inspectResponse)
expect(result?.matched).toBe(true)
expect(result?.handler).toBe('YoutubeHandler')
} finally {
requestSpy.mockRestore()
}
})
it('handle_unsupported_handler', async () => {
@ -455,8 +458,8 @@ describe('useTasks', () => {
metadata: null,
}
const fetchSpy = spyOn(globalThis, 'fetch')
fetchSpy.mockResolvedValueOnce(
const requestSpy = spyOn(utils, 'request')
requestSpy.mockResolvedValueOnce(
createMockResponse({
ok: true,
status: 200,
@ -465,27 +468,33 @@ describe('useTasks', () => {
)
const tasks = useTasks()
const result = await tasks.inspectTaskHandler({
url: 'https://unsupported.com',
})
try {
const result = await tasks.inspectTaskHandler({
url: 'https://unsupported.com',
})
expect(result?.supported).toBe(false)
expect(result?.matched).toBe(false)
fetchSpy.mockRestore()
expect(result?.supported).toBe(false)
expect(result?.matched).toBe(false)
} finally {
requestSpy.mockRestore()
}
})
it('store_inspect_error', async () => {
const fetchSpy = spyOn(globalThis, 'fetch')
fetchSpy.mockRejectedValueOnce(new Error('Network error'))
const requestSpy = spyOn(utils, 'request')
requestSpy.mockRejectedValueOnce(new Error('Network error'))
const tasks = useTasks()
const result = await tasks.inspectTaskHandler({
url: 'invalid',
})
try {
const result = await tasks.inspectTaskHandler({
url: 'invalid',
})
expect(result).toBeNull()
expect(tasks.lastError.value).toBe('Network error')
fetchSpy.mockRestore()
expect(result).toBeNull()
expect(tasks.lastError.value).toBe('Network error')
} finally {
requestSpy.mockRestore()
}
})
})