コード例 #1
0
        public void Arrange()
        {
            _passwordService = new Mock <IPasswordService>();
            _passwordService.Setup(x => x.CheckPasswordMatchesRequiredComplexity(It.IsAny <string>())).Returns(true);

            _validator = new RegisterUserCommandValidator(_passwordService.Object);
        }
コード例 #2
0
        public RegisterUserValidatorsTest()
        {
            var command  = RegisterUserCommandFactory.ValidRegisterUserCommandWithExistingEmail();
            var mockRepo = new Mock <IUserRepository>();

            mockRepo.Setup(db => db.CheckUniqueEmail(command.Email).Result).Returns(true);
            _validator = new RegisterUserCommandValidator(mockRepo.Object);
        }
コード例 #3
0
        public void Should_not_allow_null_password()
        {
            // Arrange
            var validator = new RegisterUserCommandValidator();
            var command   = new RegisterUserCommand("*****@*****.**", null);

            // Act
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.Errors.Should().ContainSingle().Which.ErrorMessage.Should().Be("A password is required.");
        }
コード例 #4
0
        public void Should_expect_email_with_valid_format()
        {
            // Arrange
            var validator = new RegisterUserCommandValidator();
            var command   = new RegisterUserCommand("wrongEmail.com", "P@ssw0rd");

            // Act
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.Errors.Should().ContainSingle().Which.ErrorMessage.Should().Be("An email with a correct format is required.");
        }
コード例 #5
0
        public void Should_not_allow_null_email()
        {
            // Arrange
            var validator = new RegisterUserCommandValidator();
            var command   = new RegisterUserCommand(null, "P@ssw0rd");

            // Act
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.Errors.Should().ContainSingle().Which.ErrorMessage.Should().Be("An email is required.");
        }
コード例 #6
0
        public void Should_RegisterUserValidationFail_When_EmailIsTooLarge()
        {
            var registerUserValidator = new RegisterUserCommandValidator();

            var validModel = new RegisterUserCommand
            {
                UserName        = "******",
                Email           = new string('e', 250) + "@te.com", //256 chars total
                Password        = "******",
                ConfirmPassword = "******"
            };

            Func <Task> f = async() => await registerUserValidator.ValidateAsync(validModel);

            f.ShouldThrow <ValidationException>();
        }
コード例 #7
0
        public void Should_RegisterUserValidationFail_When_EmailIsNotValid()
        {
            var registerUserValidator = new RegisterUserCommandValidator();

            var validModel = new RegisterUserCommand
            {
                UserName        = "******",
                Email           = "invalidemail",
                Password        = "******",
                ConfirmPassword = "******"
            };

            Func <Task> f = async() => await registerUserValidator.ValidateAsync(validModel);

            f.ShouldThrow <ValidationException>();
        }
コード例 #8
0
        public void Should_RegisterUserValidationFail_When_UserNameNotExists()
        {
            var registerUserValidator = new RegisterUserCommandValidator();

            var validModel = new RegisterUserCommand
            {
                UserName        = String.Empty,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            Func <Task> f = async() => await registerUserValidator.ValidateAsync(validModel);

            f.ShouldThrow <ValidationException>();
        }
コード例 #9
0
        public void Should_RegisterUserValidationFail_When_ConfirmPasswordIsNotCorrect()
        {
            var registerUserValidator = new RegisterUserCommandValidator();

            var validModel = new RegisterUserCommand
            {
                UserName        = "******",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            Func <Task> f = async() => await registerUserValidator.ValidateAsync(validModel);

            var a = f.ShouldThrow <ValidationException>();
        }
コード例 #10
0
        public void Should_RegisterUserValidationFail_When_PasswordIsTooLarge()
        {
            var registerUserValidator = new RegisterUserCommandValidator();

            var validModel = new RegisterUserCommand
            {
                UserName        = "******",
                Email           = "*****@*****.**",
                Password        = new string('p', 101),
                ConfirmPassword = "******"
            };

            Func <Task> f = async() => await registerUserValidator.ValidateAsync(validModel);

            f.ShouldThrow <ValidationException>();
        }
コード例 #11
0
 public override bool Validate()
 {
     ValidationResult = new RegisterUserCommandValidator().Validate(this);
     return(ValidationResult.IsValid);
 }
コード例 #12
0
 public RegisterUserValidationTest()
 {
     // Arrange
     Validator = new RegisterUserCommandValidator();
 }