import { describe, it, expect } from 'vitest'; import { parseApiError } from '../parse-api-error'; describe('parseApiError', () => { it('error.message', () => { expect(parseApiError({ message: 'Not found' })).toBe('Not found'); }); it('response._data как объект', () => { const error = { response: { _data: { error: 'Bad request' } } }; expect(parseApiError(error)).toBe('Bad request'); }); it('response._data как JSON строка', () => { const error = { response: { _data: '{"error":"Forbidden"}' } }; expect(parseApiError(error)).toBe('Forbidden'); }); it('вложенный data.error', () => { const error = { response: { _data: { data: { error: 'Validation failed' } } } }; expect(parseApiError(error)).toBe('Validation failed'); }); it('массив ошибок — первый элемент', () => { const error = { response: { _data: { error: ['Field required', 'Too short'] } } }; expect(parseApiError(error)).toBe('Field required'); }); it('fallback при null', () => { expect(parseApiError(null)).toBe('Unknown error occurred.'); }); it('fallback при пустом объекте', () => { expect(parseApiError({})).toBe('Unknown error occurred.'); }); });