Size: a a a

2020 October 20

DZ

Dmitry Zherebko in React Kyiv
А какой смысл мокать модалку?
источник

DZ

Dmitry Zherebko in React Kyiv
она же в портале, не нажимай на неё и хуже не будет
источник

AR

Alexey Raspopov in React Kyiv
Dmitry Zherebko
А какой смысл мокать модалку?
ну вот например модалка это confirm dialog и я хочу протестировать оба варианта для confirm и cancel
источник

DZ

Dmitry Zherebko in React Kyiv
Alexey Raspopov
ну вот например модалка это confirm dialog и я хочу протестировать оба варианта для confirm и cancel
такс, и ты хочешь весь воркфлоу проверить?
источник

AR

Alexey Raspopov in React Kyiv
допустим есть какая-то логика в компоненте, хочу проверить оба флоу. в таком случае, мне кажется, эмулировать нажатия кнопок в модалке нарушает идею тестирования
источник

DZ

Dmitry Zherebko in React Kyiv
а что если тестировать просто сам хук в изоляции от компонента?
источник

DZ

Dmitry Zherebko in React Kyiv
Alexey Raspopov
допустим есть какая-то логика в компоненте, хочу проверить оба флоу. в таком случае, мне кажется, эмулировать нажатия кнопок в модалке нарушает идею тестирования
почему? мы же получается тестируем то как юзер будет взаимодействовать с компонентом
источник

DZ

Dmitry Zherebko in React Kyiv
или то что мы 2 раза тестируем одно и тоже?
источник

AR

Alexey Raspopov in React Kyiv
для этого e2e тесты есть, с rtl я такие тесты не хочу писать)
источник

DZ

Dmitry Zherebko in React Kyiv
ну окей, поскольку все такие модалки именованые jest.mock и погнали
источник

DZ

Dmitry Zherebko in React Kyiv
ну вообще надо попробывать и твой подход
источник

DZ

Dmitry Zherebko in React Kyiv
мне кажется для каких-то вещей он будет удобней
источник

DZ

Dmitry Zherebko in React Kyiv
Alexey Raspopov
в биржс было небольшое обсуждение паттернов, написал небольшой гист про паттерн, который недавно начал использовать в реакте
https://gist.github.com/alexeyraspopov/e22358cae8bea7d9fefa97372a75df1f
а как с этим подходом синкать стейт?
источник

DZ

Dmitry Zherebko in React Kyiv
допустим ты хочешь открыть модалку с каким-то значением
источник

DZ

Dmitry Zherebko in React Kyiv
и тут тебе прилетает новый стейт значения
источник

DZ

Dmitry Zherebko in React Kyiv
потому что в бекграунде обновилось
источник

DZ

Dmitry Zherebko in React Kyiv
в моём случае т.к это обычный стейт который в компоненте то в компонент прилетит ререндер и всё засинкается, а с ивентами как быть?
источник

DZ

Dmitry Zherebko in React Kyiv
вот то что я пишу сейчас у себя и мне хочется что бы инишиал вельюс был ап ту дейт всё же
useUserEditDialog({ initialValues: values, onSubmit: console.log  })
источник

AR

Alexey Raspopov in React Kyiv
Dmitry Zherebko
а как с этим подходом синкать стейт?
В моих случаях пока не было такой необходимости. Но ты всегда можешь задиспатчить какой-то <MyComponent />, внутри которого может быть свой стейт
источник

DZ

Dmitry Zherebko in React Kyiv
Alexey Raspopov
В моих случаях пока не было такой необходимости. Но ты всегда можешь задиспатчить какой-то <MyComponent />, внутри которого может быть свой стейт
но стейт заходит с компонента где вызывается
источник