Я тестирую эффекты магазина Ngrx в угловом приложении.Одним из моих эффектов, в качестве побочного эффекта, является модал, который всплывает с использованием материального компонента MatDialog.
Я хочу запустить тест, в котором эффект запускается действием, которое вызываетдиалог мата, чтобы появиться.Затем я хочу проверить, нажимая «да» или «нет», а затем приступить к проверке конечного действия (или его отсутствия).
Мы используем rxjs-marbles для тестирования нашего магазина.
RxJs не делаетПохоже, что у меня огромное количество примеров, но я понял, что мне нужно использовать TestScheduler для этого типа сценария.Я не уверен, как это работает, хотя.Я провожу много исследований и не достиг тонны прогресса.
По сути, как мрамор, это выглядит так:
-a-b-c
гдеa
- это начальное действие, b
- это щелчок пользователя в диалоговом окне, а c
- это результат (c
необязательно, если пользователь нажимает «нет», результирующее действие не будет)..
Я не прошу никого писать мой код, просто укажите мне правильное направление. Я собираюсь начать читать исходный код для TestScheduler, чтобы понять его лучше, потому что я даже неконечно, если это то, что я должен использовать в этом случае.
В принципе, как можно написать такой тест, где есть наблюдаемые потоки в сочетании с моделируемым пользовательским вводом с использованием шариков?