Запуск теста с использованием шутки и энзима для следующего кода ниже;События onclick и onchange проверяются.
К сожалению, я не могу проверить следующее событие щелчка из-за состояния его состояния
функция:
handleAddClick = () => {
this.setState({editUser: true})
}
Метод визуализации:
render() {
let { quickfilters } = this.state;
return (
<div className='user-screen-wrapper'>
{ this.state.editUser ? <Redirect push to={`${this.props.location.pathname}/add`} /> : null }
{ this.state.selectedUserId ? <Redirect push to={`${this.props.location.pathname}/edit/${this.state.selectedUserId}`} /> : null }
<div className='add-edit-button add-edit-button-short' onClick={() => {this.handleAddClick()}}>Add User</div>
Тест:
it(' should call click event on handleAddClick method', () => {
baseProps.onClick.mockClear();
wrapper.setProps({
location:{
pathname:'/add'
},
})
wrapper.find('Users').setState({
editUser: false
});
wrapper.find('Users').find('.add-edit-button add-edit-button-short').simulate('click');
wrapper.unmount();
});
Если я установлю EditUser: true, обрывы терминала