Я стараюсь изо всех сил понять, как имитировать вызовы API, и я понял, что вам нужно имитировать их, используя jest.fn().mockImplementation()
:
Но теперь мне нужно запустить этот код и установить свойствав состояние, чтобы я мог убедиться, что вызов обновил количество второго элемента до трех.
api.getCart = jest.fn().mockImplementation(() => Promise.resolve({
cart: mockCart,
items: [{}, { qty: 3 }, {}],
}));
, поэтому в своем тесте я проверил, что вышеприведенное называется так, как оно есть.
Я бы ожидал, что это затем установит состояние в моей компонентной функции, как это то, что я делаю ниже:
/**
* Fetchs the carts data.
* Includes: Items, Totals and options.
*/
getCartData() {
const callCart = getCart(this.token);
callCart.then((response) => {
this.setState({
cart: response,
items: response.items,
});
});
}
В моем тесте я хочу написать нижетак что тест равен 3 вместо 2 (исходное значение).
expect(renderedCart.state().items[1].qty).toEqual(3);