public void WHEN_min_required_non_alphanumeric_is_specified_SHOULD_validate_password_correctly() { // Arrange var param = new GetCreateAccountViewModelParam(); var minNumber = 3; var goodPassword = "******"; var badPassword = "******"; _container.GetMock <MembershipProvider>() .SetupGet(m => m.MinRequiredNonAlphanumericCharacters) .Returns(minNumber); var membershipViewService = _container.CreateInstance <MembershipViewService>(); membershipViewService.Membership = _container.Get <IMembershipProxy>(); // Act var viewModel = membershipViewService.GetCreateAccountViewModel(param); // Assert viewModel.Should().NotBeNull(); viewModel.PasswordRegexPattern.Should().NotBeNullOrEmpty(); Regex.IsMatch(goodPassword, viewModel.PasswordRegexPattern).Should().BeTrue(); Regex.IsMatch(badPassword, viewModel.PasswordRegexPattern).Should().BeFalse(); }
/// <summary> /// Get the view Model to display a Create Account Form and Form result /// </summary> /// <param name="param">Builder params <see cref="GetCreateAccountViewModelParam"/></param> /// <returns> /// The view model to display the Create Account Form /// </returns> public virtual CreateAccountViewModel GetCreateAccountViewModel(GetCreateAccountViewModelParam param) { var viewModel = ViewModelMapper.MapTo <CreateAccountViewModel>(param.Customer, param.CultureInfo) ?? new CreateAccountViewModel(); viewModel.TermsAndConditionsUrl = param.TermsAndConditionsUrl; viewModel.Status = param.Status?.ToString("G") ?? string.Empty; viewModel.ReturnUrl = param.ReturnUrl; viewModel.IsSuccess = param.Status == MyAccountStatus.Success; viewModel.Username = param.Customer != null ? param.Customer.Username : string.Empty; viewModel.CustomerId = param.Customer?.Id ?? Guid.Empty; viewModel.Created = param.Customer?.Created ?? DateTime.MinValue; SetPasswordValidationRules(viewModel); return(viewModel); }
/// <summary> /// Get the view Model to display a Create Account Form and Form result /// </summary> /// <param name="param">Builder params <see cref="GetCreateAccountViewModelParam"/></param> /// <returns> /// The view model to display the Create Account Form /// </returns> public virtual CreateAccountViewModel GetCreateAccountViewModel(GetCreateAccountViewModelParam param) { var viewModel = ViewModelMapper.MapTo <CreateAccountViewModel>(param.Customer, param.CultureInfo) ?? new CreateAccountViewModel(); viewModel.MinRequiredPasswordLength = MembershipProvider.MinRequiredPasswordLength; viewModel.MinRequiredNonAlphanumericCharacters = MembershipProvider.MinRequiredNonAlphanumericCharacters; viewModel.PasswordRegexPattern = CreatePasswordRegexPattern().ToString(); viewModel.TermsAndConditionsUrl = param.TermsAndConditionsUrl; viewModel.Status = param.Status?.ToString("G") ?? string.Empty; viewModel.ReturnUrl = param.ReturnUrl; viewModel.IsSuccess = param.Status == MyAccountStatus.Success; viewModel.Username = param.Customer != null ? param.Customer.Username : string.Empty; viewModel.CustomerId = param.Customer?.Id ?? Guid.Empty; viewModel.Created = param.Customer?.Created ?? DateTime.MinValue; return(viewModel); }
public void WHEN_passing_valid_arguments_SHOULD_create_viewmodel_with_regex() { // Arrange var param = new GetCreateAccountViewModelParam(); var minNumber = GetRandom.PositiveInt(); _container.GetMock <MembershipProvider>() .SetupGet(m => m.MinRequiredNonAlphanumericCharacters) .Returns(minNumber) .Verifiable("Regex must be based on this value"); var membershipViewService = _container.CreateInstance <MembershipViewService>(); membershipViewService.Membership = _container.Get <IMembershipProxy>(); // Act var viewModel = membershipViewService.GetCreateAccountViewModel(param); // Assert viewModel.Should().NotBeNull(); viewModel.PasswordRegexPattern.Should().NotBeNullOrEmpty(); viewModel.PasswordRegexPattern.Should() .Contain(minNumber + "", "the Regex must be based on the min required non alphanumeric characters"); }