@the5x

Как правильно поменять state в компоненте родителя Jest / Enzyme?

У меня есть основной компонент Todo, в котором есть state. В этом state я храню todos и name, которое вводиться через input. Input у меня отдельный компонент, в который я просто прокидываю пропсы:

<TodoInput onChange={this.handleInput} />

Подскажите, как мне из shallow TodoInput, поменять state (name) в родительском Todo, чтобы проверить, что в inpute правильно отрабатывает onChange?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
@the5x Автор вопроса
Решил вопрос. Надо сделать mount родителя и потом найти по селектору нужный input у которого потом можно сделать, что-то такое:

wrapper.find('.todo__form-input').simulate('change', { target: { value: '' } });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@camelCaseVlad
Не используйте Enzyme при тестировании Реакт приложений, читайте документацию.

https://reactjs.org/docs/testing.html#tools

Используйте рекомендуемые пакеты - Jest и React Testing Library.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы