Estoy buscando una manera de crear fácilmente AxiosError (desde la propia biblioteca de axios o un asistente externo)
Tengo esta función que quiero probar.
import { AxiosError } from 'axios'; export function isEmailConflict({ error }: { error: AxiosError<{ type?: string; message?: string }> }) { // ... }Hasta ahora lo realicé de esta manera.
import { AxiosError } from 'axios'; // ... describe('isEmailConflict', () => { function newConflicError(): AxiosError { return { isAxiosError: true, name: '', message: '', toJSON: () => ({}), config: {}, response: { data: { type: 'aa', message: 'bb' }, status: 409, statusText: 'Conflict', headers: {}, config: {}, }, }; } it('should return true if the passed error is of type email already used', () => { const error = newConflicError(); //... }); pero lo encuentro feo, ¿hay una manera fácil de crear un AxiosError ?
Ya probé ts-auto-mock pero lo encuentro demasiado intrusivo en la configuración de mis pruebas.
Usé este paquete recientemente, sus ejemplos funcionan a la perfección.
Mientras tanto, tuve que cambiar a TypeScript , donde esta es la solución que funcionó para mí (sin axios-error ):
import axios, { AxiosRequestConfig, AxiosResponse } from "axios"; import { AxiosError } from "axios"; [...] const responseData = "some string"; const response: AxiosResponse = { data: responseData, status: 500, } as AxiosResponse; const axiosError = { config: {}, request: {}, response: response} as AxiosError<any>;