Мой компонент реагирования содержит этот код
handleChange = e => {
this.setState({
num: e.target.value
});
};
render() {
return (
<div>
<h2>Delete cat :(</h2>
<input
onChange={this.handleChange}
type="number"
placeholder="enter id here"
/>
<button id="deleteBtn" onClick={this.deleteOne}>
Delete
</button>
</div>
);
}
}
Как видите, функция handleChange срабатывает при изменении входа и оттуда обновляет состояние.
Как я могу проверить это с помощью энзима?Я пробовал
it("Updates the state", () => {
const wrapper = shallow(
<Provider store={store}>
<DeleteOne />
</Provider>
);
const input = wrapper.find("input");
input.simulate("change", { target: { num: 2} });
expect(wrapper.state().num).toEqual(2);
});
});
Мне пришлось попытаться обернуть его в магазине, потому что я использую Redux и экспортирую подключенный компонент.Я гуглил последний час и пробовал все виды, но не смог пройти этот тест.Пожалуйста, пришлите помощь :) cheers
PS: я проверял нажатие кнопки, не беспокойтесь, так как она просто запускает функцию (без обновления состояния).