예제 #1
0
            public void ReturnsFalseWhenThePasswordIsNotValid()
            {
                var nextIsEnabledObserver = Observe(ViewModel.NextIsEnabled);

                ViewModel.Password.OnNext(InvalidPassword.ToString());

                TestScheduler.Start();
                nextIsEnabledObserver.LastEmittedValue().Should().BeFalse();
            }
예제 #2
0
            public async Task DoesNotAttemptToLoginWhileThePasswordIsNotValid()
            {
                ViewModel.Password.OnNext(InvalidPassword.ToString());
                var executionObserver = TestScheduler.CreateObserver <Unit>();

                ViewModel.Done.Execute().Subscribe(executionObserver);

                TestScheduler.Start();
                executionObserver.Messages.Last().Value.Kind.Should().Be(NotificationKind.OnError);
                await UserAccessManager.DidNotReceive().RefreshToken(Arg.Any <Password>());
            }
예제 #3
0
            public async Task DoesNotAttemptToLoginWhileThePasswordIsNotValid()
            {
                ViewModel.Password.OnNext(InvalidPassword.ToString());
                var errors = TestScheduler.CreateObserver <Exception>();

                ViewModel.Done.Errors.Subscribe(errors);

                ViewModel.Done.Execute();

                TestScheduler.Start();
                errors.Messages.Count.Should().Be(1);
                await UserAccessManager.DidNotReceive().RefreshToken(Arg.Any <Password>());
            }