Вы привели пример с fork и handlers, но я так понял, что это только для эффектов. А как мокать events? Или триггеря через allSetlled event мы должны проверять потом не триггернулся ли замоканный эффект?
Ок, я добавил провайдер с актуальным scope, добавил fork c handlers, но когда запускаю, то получаю "Cannot read properties of undefined (reading 'createStore')". Я так понимаю, что это из-за domain? Как и его замокать?
Вот у вас есть пример с loginButtonClicked, можете добавить пример как проверить, что он отработал (expect(...).toHaveBeenCalledTimes(1), к примеру)?
Всё-таки не всё понятно при работе с React Testing Library (RTL).
В RTL есть инструкция о том, как замокать раз и навсегда провайдеры, создавая
customerRender
функцию и передавая тудаAllTheProviders
.Сработает ли такой подход здесь?
Пример кода: stackoverflow.com/a/73150552/8237608
Дока RTL: testing-library.com/docs/react-tes...
Вы привели пример с
fork
иhandlers
, но я так понял, что это только для эффектов. А как мокатьevents
? Или триггеря черезallSetlled
event мы должны проверять потом не триггернулся ли замоканный эффект?Ок, я добавил провайдер с актуальным scope, добавил fork c handlers, но когда запускаю, то получаю "Cannot read properties of undefined (reading 'createStore')". Я так понимаю, что это из-за
domain
? Как и его замокать?Вот у вас есть пример с
loginButtonClicked
, можете добавить пример как проверить, что он отработал (expect(...).toHaveBeenCalledTimes(1), к примеру)?Разным тестам могут быть нужны разные моки, поэтому и Provider из
effector-react
с форкнутым скоупом у каждого теста скорее всего будет свой.Ивенты не имеют ни своего состояния, ни сайд-эффектов внутри себя - там нечего мокать.
Не очень понятна проблема без примера кода - похоже на проблемы со сборкой. Начиная с effector@22.0.0 домены не обязательны для тестов или SSR
Достаточно сделать watch на ивенте: