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); }
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); }
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)); }
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); }
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)); }
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); }
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)); }