Example #1
0
        public async Task Login_LoginViewModel_FailedSignIn_AddsDisabledValidationError()
        {
            const string email       = "*****@*****.**";
            const string phoneNumber = "012345678901";

            var disabledSetting = new DisabledErrorMessageSettings()
            {
                EmailAddress = email,
                PhoneNumber  = phoneNumber
            };

            using var controller = AccountControllerBuilder
                                   .Create()
                                   .WithSignInResult(Result.Failure <SignInResponse>(new List <ErrorDetails> { LoginUserErrors.UserIsDisabled() }))
                                   .WithDisabledErrorMessageSetting(disabledSetting)
                                   .Build();

            await controller.Login(LoginViewModelBuilder.Create().Build());

            var modelState = controller.ModelState;

            modelState.IsValid.Should().BeFalse();
            modelState.Count.Should().Be(1);

            (string key, ModelStateEntry entry) = modelState.First();
            key.Should().Be(nameof(LoginViewModel.DisabledError));
            entry.Errors.Count.Should().Be(1);
            var expected = string.Format(CultureInfo.CurrentCulture, AccountController.UserDisabledErrorMessageTemplate, email,
                                         phoneNumber);

            entry.Errors.First().ErrorMessage.Should().Be(expected);
        }
Example #2
0
 public AccountController(
     ILoginService loginService,
     ILogoutService logoutService,
     IPasswordResetCallback passwordResetCallback,
     IPasswordService passwordService,
     DisabledErrorMessageSettings disabledErrorMessageSettings,
     PublicBrowseSettings publicBrowseSettings)
 {
     this.loginService                 = loginService;
     this.logoutService                = logoutService;
     this.passwordResetCallback        = passwordResetCallback;
     this.passwordService              = passwordService;
     this.disabledErrorMessageSettings = disabledErrorMessageSettings;
     this.publicBrowseSettings         = publicBrowseSettings;
 }
Example #3
0
        private AccountControllerBuilder()
        {
            _context                      = Mock.Of <ControllerContext>();
            _loginService                 = Mock.Of <ILoginService>();
            _logoutService                = Mock.Of <ILogoutService>();
            _mockPasswordResetCallback    = new Mock <IPasswordResetCallback>();
            _mockPasswordService          = new Mock <IPasswordService>();
            _disabledErrorMessageSettings = new DisabledErrorMessageSettings
            {
                EmailAddress = "Email",
                PhoneNumber  = "Phone"
            };

            _publicBrowseSettings = new PublicBrowseSettings();
        }
Example #4
0
 internal AccountControllerBuilder WithDisabledErrorMessageSetting(DisabledErrorMessageSettings settings)
 {
     _disabledErrorMessageSettings = settings;
     return(this);
 }