Jest Axe ios mock возвращает неправильное значение - PullRequest
0 голосов
/ 18 апреля 2020

Для проекта я пытаюсь протестировать сценарий, согласно которому запрос API возвращает неверный ответ. Проблема в том, что мой макет продолжает возвращать разрешенное значение вместо отклоненного обещания. Даже когда я очищаю свои макеты, он все равно возвращает ложный ответ ОК. Как это происходит?

jest.mock("axios");
const mockedAxios = axios as jest.Mocked<typeof axios>;

beforeEach(() => {
  mockedAxios.get.mockResolvedValue(okResponse);
});

it("should throw an error on bad request", async () => {
  const error = new Error("Invalid API Key");
  mockedAxios.get.mockClear();
  mockedAxios.get.mockImplementationOnce(() => Promise.reject(error));

  const res = searchGifs({ // This function uses axios.get()
    query: "something else",
    limit: 12,
    offset: 0,
  });

  await expect(res).rejects.toThrow(error);
});

Результат моего теста:

expect(received).toThrowError()

Matcher error: received value must be a function

Received has type:  object
Received has value: {"data": [[Object], [Object]], "meta": {"msg": "OK", "status": 200}, "pagination": {"count": 12, "offset": 0, "total_count": 231}}

Получен ответ «ОК». Почему он не возвращает отклоненное обещание?

...