Пример #1
0
                public async Task ClosesTheViewModelAfterFourSecondDelay()
                {
                    var testScheduler = new TestScheduler();
                    var timeService   = new TimeService(testScheduler);
                    var viewModel     = new ForgotPasswordViewModel(
                        timeService, UserAccessManager, AnalyticsService, SchedulerProvider, NavigationService, RxActionFactory);

                    viewModel.AttachView(View);
                    viewModel.Email.OnNext(ValidEmail);
                    UserAccessManager
                    .ResetPassword(Arg.Any <Email>())
                    .Returns(Observable.Return("Great success"));

                    viewModel.Reset.Execute();
                    TestScheduler.Start();
                    testScheduler.AdvanceBy(TimeSpan.FromSeconds(4).Ticks);

                    var result = await viewModel.Result;

                    result.Email.Should().BeEquivalentTo(ValidEmail);
                }