При запуске yarn test возникает множество ошибок, что функция loadingElement, ей не является TypeError: loadingElement is not a function.
Существует файл minicart.js в котором я определяю функцию loadingElement:
loadingElement = bool => {
this.setState({
isLoading: bool
});
};
После чего, я передаю ее вниз: (классу ProductList)
get productList() {
const { cart, removeItemFromCart } = this.props;
const { cartCurrencyCode, cartId } = this;
return cartId ? (
<ProductList
removeItemFromCart={removeItemFromCart}
loadingElement={this.loadingElement} // Function loadingElement
showEditPanel={this.showEditPanel}
currencyCode={cartCurrencyCode}
items={cart.details.items}
totalsItems={cart.totals.items}
/>
) : null;
}
После чего, я ее принимаю в классе product, и пользуюсь следующим образом:
removeItem = () => {
const { removeItemFromCart, loadingElement, item } = this.props;
this.setState({
isOpen: false
});
loadingElement(true);
removeItemFromCart({
item: item,
loadingElement: loadingElement
});
};
И на данном этапе loadingElement(true);, возникает одна из восьми ошибок TypeError: loadingElement is not a function.
Желаемый результат
yarn test говорит иначе? А Вы в тесте передаете loadingElement props? Могу поспорить что нет.
Как решить?
Нужно во всех местах всегда делать проверки, именно для этого Вы и пишите тесты чтобы обнаруживать эти проблемы:
loadingElement && loadingElement(true);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости