Files
hermes-desktop/tests/client/http-error.test.ts
T
toor 01d9e301fc
Build / build (push) Canceled after 0s
Playwright / browser (push) Canceled after 0s
initialize Electron desktop app and remove unused files
2026-10-25 01:09:01 +08:00

26 lines
1018 B
TypeScript

import { describe, expect, it } from 'vitest'
import { responseErrorMessage } from '@/utils/http-error'
describe('responseErrorMessage', () => {
it('uses JSON error fields when available', async () => {
const response = new Response(JSON.stringify({ error: 'Profile access denied' }), {
status: 403,
headers: { 'content-type': 'application/json' },
})
await expect(responseErrorMessage(response, 'Upload failed')).resolves.toBe('Upload failed: 403 - Profile access denied')
})
it('falls back to text response bodies', async () => {
const response = new Response('Forbidden by policy', { status: 403 })
await expect(responseErrorMessage(response, 'Upload failed')).resolves.toBe('Upload failed: 403 - Forbidden by policy')
})
it('keeps the original status-only fallback when no body exists', async () => {
const response = new Response('', { status: 500 })
await expect(responseErrorMessage(response, 'Upload failed')).resolves.toBe('Upload failed: 500')
})
})