Могу ли я использовать связанные с jest.fn () проверки с помощью axios-mock-adapter? - PullRequest
0 голосов
/ 07 июня 2019

Я использую axios-mock-adapter, и я хочу знать, могу ли я настроить его так, чтобы я мог также делать утверждения вроде expect(MockAdapter.get).toHaveBeenCalledWith(url);

Я пробовал следующее:

// test
import MockAdapter from "axios-mock-adapter";
import { fetchProducts } from "../src/redux/actions/productActions";

describe("fetchProducts", () => {
  const mock = new MockAdapter();
  it("fetches the products", async () => {
    const x = await fetchProducts();
    expect(mock.get).toHaveBeenCalledWith("https://www.whatever.com");
  });
});

// function
import axios from "axios";

export async function* fetchProducts() {
  let data = await axios.get("https://www.whatever.com");
  return data;
}

И там написано

    expect(jest.fn())[.not].toHaveBeenCalledWith()

    Matcher error: received value must be a mock or spy function

    Received has value: undefined

Если я добавлю ./__mocks__/axios.js файл, я сразу получу

    TypeError: axios.create is not a function

    > 1 | import MockAdapter from "axios-mock-adapter";
        | ^
      2 | import { fetchProducts } from "../src/redux/actions/productActions";

Есть ли способ сделать это, или это или издеваться над моей собственной реализацией функций axios, или использовать axios-mock-adapter без доступа к ней в качестве функции шутки?

...