Ожидалось, что фиктивная функция была вызвана один раз, но она называлась Zeo Times - PullRequest
0 голосов
/ 25 декабря 2018

Я использую axios и jest-mock-axios.

, когда я тестирую мой API, он показывает эту ошибку:

Expected mock function to have been called one time, but it was called zero times.

вот мой файл API:

import URI from '../../constants/uri';
import globalAxios from '../../utils/axiosConfig';

const api = {
  checkStock: ({ products, vendorCode }) => {
    const url = URI.BASKET.CHECK_STOCK({ products, vendorCode });
    const config = {
      url,
      method: 'get',
    };
    return globalAxios(config);
  },
};

export default api;

description:

URI - это объект, который содержит функции, которые получают имя конечной точки и входные параметры, и создает URL-адрес для запроса.

globalAxios - это функция, которая получает метод,заголовок данных и т. д. и добавляет некоторые заголовки и вызывает axios с заданными параметрами.

и вот мой тест:

import mockAxios from 'jest-mock-axios';
import URI from '../../../constants/uri';
import api from '../api';

afterEach(() => {
  mockAxios.reset();
});

const expectedData = {
  products: [],
  vendorCode: null,
};

describe('Basket api', () => {
  describe('handle api request for checkStock', () => {
    it('should request for checkStock api', () => {
      api.checkStock(expectedData);
      expect(mockAxios.get).toHaveBeenCalledTimes(1);
      expect(mockAxios.get).toHaveBeenCalledWith(
        URI.BASKET.CHECK_STOCK(expectedData),
      );
    });
  });
});

как видите, я позвонил

api.checkStock(expectedData);

в моем тесте, но при запуске кажется, что он не вызывает API

...