public void IsInvalid_WhenPasswordLength_IsGreaterThan_PasswordMaxLength() { var password = FakeData.String(); while (password.Length <= LocalMembership.Constraints.PasswordMaxLength) { password += FakeData.String(); } var command = new FakeMustBeValidPasswordCommand { Password = password }; var validator = new FakeMustBeValidPasswordValidator(); var result = validator.Validate(command); result.IsValid.ShouldBeFalse(); Func <ValidationFailure, bool> passwordError = x => x.PropertyName == command.PropertyName(y => y.Password); result.Errors.Count(passwordError).ShouldEqual(1); result.Errors.Single(passwordError).ErrorMessage.ShouldEqual(Resources.Validation_MaxLength .Replace("{PropertyName}", LocalMembership.Constraints.PasswordLabel) .Replace("{MaxLength}", LocalMembership.Constraints.PasswordMaxLength .ToString(CultureInfo.InvariantCulture)) .Replace("{TotalLength}", password.Length.ToString(CultureInfo.InvariantCulture)) ); validator.ShouldHaveValidationErrorFor(x => x.Password, command.Password); }
public void IsInvalid_WhenPassword_IsEmpty(string password) { var command = new FakeMustBeValidPasswordCommand { Password = password }; var validator = new FakeMustBeValidPasswordValidator(); var result = validator.Validate(command); result.IsValid.ShouldBeFalse(); Func <ValidationFailure, bool> passwordError = x => x.PropertyName == command.PropertyName(y => y.Password); result.Errors.Count(passwordError).ShouldEqual(1); result.Errors.Single(passwordError).ErrorMessage.ShouldEqual(Resources.notempty_error .Replace("{PropertyName}", LocalMembership.Constraints.PasswordLabel) ); validator.ShouldHaveValidationErrorFor(x => x.Password, command.Password); }