Я пытаюсь протестировать компонент, завернутый в Redux:
beforeEach(async () => {
component = await mount(
<Provider store={buildStore()}>
<CheckoutOverlay cartItems={basicCart} />
</Provider>
)
await component.update();
})
Вещи, которые я пробовал:
component.find(CheckoutOverlay).instance().state.coupon={} (Cannot read 'state' of null)
component.find(CheckoutOverlay).state.coupon={mode:0, value:.25}; (state does not update)
component.find(CheckoutOverlay).setState({coupon: {mode: 0, value: .25}}); (setState() can
only be called on class components)
component.find(CheckoutOverlay).instance().setState({coupon: {mode: 0, value: .25}}); (cannot read property 'setState' of null)
I've also tried some suggestions that use SHALLOW() and .dive(). But I always get the error 'dive()' is not a function. I am using Enzyme 3.11.0
Как мне обновить состояние компонента завернутый в Redux Provider?
Дополнительная информация: Внутри моего компонента CheckoutOverlay есть еще один компонент, который вызывает функцию в CheckoutOverlay. Эта функция хранит данные, отправленные в State. Я пытаюсь смоделировать, что происходит, когда данные отправляются в CheckoutOverlay. Подкомпонент имеет тесты, и, я полагаю, я могу сделать что-то вроде имитации щелчка по этому компоненту. Но это кажется более сложным, чем должно быть.