У меня есть компонент, в котором есть useState и функция updateTotalSum, которая триггерит setTotalSum. Как я могу протестировать и получить значение из useState(totalSum), а также вызвать функцию updateTotalSum
//My component
const SomeComponent = props => {
const [totalSum, setTotalSum] = useState(null);
const updateTotalSum = sum => {
//...do something
setTotalSum(sum);
}
return <AnotherComponent updateTotalSum={updateTotalSum} totalSum={totalSum} />
}
//My tests
// Пример теста для компонента-класса. Все корректно работает.
it('should correctly called updateTotalSum method', () => {
const wrapper = shallow(<SomeComponent />;
wrapper.instance().updateTotalSum(1000);
expect(wrapper.state('totalSum')).toBe(1000);
});
// Тест для функционального компонента. Ожидаемо, не работает
it('should correctly called updateTotalSum method', () => {
const wrapper = shallow(<SomeComponent />;
wrapper.updateTotalSum(1000);
expect(wrapper.totalSum).toBe(1000);
});