コード例 #1
0
            public async Task OkCommandCompletesAndReturnsNullWithNoAuthorizationCodeAsync()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                target.OkCommand.Execute(null);
                var result = await task;

                Assert.That(result, Is.Null);
            }
コード例 #2
0
            public async Task ShowErrorMessageIsClearedWhenAuthenticationCodeSentAsync()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                Assert.True(target.ShowErrorMessage);
                target.ResendCodeCommand.Execute(null);

                var result = await task;

                Assert.False(target.ShowErrorMessage);
            }
コード例 #3
0
            public async Task ResendCodeCommandCompletesAndReturnsRequestResendCodeAsync()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                target.AuthenticationCode = "123456";
                target.ResendCodeCommand.Execute(null);
                var result = await task;

                Assert.False(target.IsBusy);
                Assert.That(TwoFactorChallengeResult.RequestResendCode, Is.EqualTo(result));
            }
コード例 #4
0
            public async Task CancelCommandCompletesAndReturnsNullAsync()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception, TwoFactorType.AuthenticatorApp);
                var task      = target.Show(userError).ToTask();

                target.AuthenticationCode = "123456";
                target.Cancel();
                var result = await task;

                Assert.False(target.IsBusy);
                Assert.That(result, Is.Null);
            }
コード例 #5
0
            public async Task OkCommandCompletesAndReturnsAuthorizationCode()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                target.AuthenticationCode = "123456";
                target.OkCommand.Execute(null);

                var result = await task;

                Assert.That("123456", Is.EqualTo(result.AuthenticationCode));
            }
コード例 #6
0
            public async Task OkCommandCompletesAndReturnsNullWithNoAuthorizationCode()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorChallengeFailedException();
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                target.OkCommand.Execute(null);
                var result = await task;

                // This isn't correct but it doesn't matter as the dialog will be closed.
                Assert.True(target.IsBusy);

                Assert.Null(result);
            }
コード例 #7
0
            public async Task Cancel_Resets_TwoFactorType_Async()
            {
                var target    = CreateTarget();
                var exception = new TwoFactorRequiredException(TwoFactorType.Sms);
                var userError = new TwoFactorRequiredUserError(exception);
                var task      = target.Show(userError).ToTask();

                Assert.That(TwoFactorType.Sms, Is.EqualTo(target.TwoFactorType));

                target.Cancel();
                await task;

                // TwoFactorType must be cleared here as the UIController uses it as a trigger
                // to show the 2FA dialog view.
                Assert.That(TwoFactorType.None, Is.EqualTo(target.TwoFactorType));
            }