Задать вопрос

Как дождаться обновления стейта после user.click() в testing-library React?

Взываю на помощь людей, кто знаком с testing-library

https://codesandbox.io/p/github/Lir-kulikov/users/...

В сендбоксе в файле src/__tests__/App.test.js банальные тесты не проходят, потому что после имитации клика (21 строка) screen.getByRole срабатывает до того как обновляется стейт. Для того чтобы в этом убедиться, можно раскомментить функцию с await на 21 строке - из-за нее все будет работать ок. Как это фиксить по красоте?

И второй вопрос: во всех тестах, даже которые проходят ок, вылазит ошибка с act (в сендбоксе это тоже видно). Если пытаться обернуть в act, то eslint начинает ругаться, да и не помогает все-равно. Почитал статейки всякие на эту тему, но все-равно не понимаю что не так. Более того, код совпадает с кодом курса, по которому я знакомлюсь с тестированием react. Даже версии testing-library те же.
  • Вопрос задан
  • 85 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽