Estoy tratando de probar el bloque catch de este try/catch .
try { const response = await request.get({ // ... required params here }); return response.data; } catch (error) { myFunction({ statusCode: error.response.status, }); throw error; } Mi objetivo es probar la llamada de myFunction dentro de catch . Quiero confirmar que la función fue llamada con los parámetros correctos de { statusCode: 400 } por ejemplo.
También quiero probar que se arrojó un error.
Escribí una mockImplementation de request.get en un intento de obtener esta respuesta de error, pero no parece llamar a mi bloque catch .
it("should throw an error and call myFunction with the status code", async () => { await request.get.mockImplementation(() => { throw new Error(); // how do I add return of statusCode here? }); expect(addToNewRelic).toHaveBeenCalledWith( expect.objectContaining({ productAPIRequestStatusCode: 404, }) ); });