Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

370
Visualizações
Mock an axios 404 with Jest?

When mocking a 404 error the result is

Uncaught UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "Error: error".

Setup a basic Mock

const mockAccountEnquiry = () => {
  axios.post.mockImplementation(async (url, testParams) => {
    if (url === 'https://blah/v1/payIDEnquiry') {
      if (testParams.payID === 'not-found') {
        jest.fn().mockReturnValue(Promise.reject(Error('error')));
      }
      return {
        status: 200,
        data: {
          AccountStatus: {
            nppReachable: testParams.nppReachable,
          },
        },
      };
    }
  });
};

Create a test case

it('Failed request', async() => {
  mockAccountEnquiry();
  const response = await backend.handler(testData);
  expect(axios.post.mock.calls[0][0]).toBe(enquiryUrl);
});

How to mock the 404 request?

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Using https://www.npmjs.com/package/axios-mock-adapter will make mocking API very simple.

var axios = require("axios");
var MockAdapter = require("axios-mock-adapter");

var mock = new MockAdapter(axios);

mock.onPost(enquiryUrl).reply(404);

it('Failed request', async() => {
  const response = await backend.handler(testData);
  expect(mock.history.post[0].url).toBe(enquiryUrl);
});
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda