Esempio n. 1
0
        public void Should_Fail_On_Incorrect_Sex()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 0,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Sex should be greater than or equal to 1.").Should().NotBeNull();

            mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 3,
                Password  = "******"
            };


            result = validator.Validate(mockRequest);
            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Sex should be lesser than or equal to 2.").Should().NotBeNull();
        }
        public void WhenValidatingBankDetails()
        {
            var bankDetailsValidator = Substitute.For <IValidator <BankDetails> >();

            bankDetailsValidator.Validate(Arg.Any <ValidationContext>()).Returns(new ValidationResult());

            _validator = new CreateUserRequestValidator(bankDetailsValidator);
        }
        public CreateUserCommandValidatorTests()
        {
            Model = new CreateUserRequest()
            {
                Username        = "******",
                FirstName       = "Marko",
                LastName        = "Urh",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            _validator = new CreateUserRequestValidator();
        }
Esempio n. 4
0
 public void UserName_validations(string email, bool pass)
 {
     ExecuteInTransaction(s =>
     {
         var validator = new CreateUserRequestValidator(s);
         if (pass)
         {
             validator.ShouldNotHaveValidationErrorFor(p => p.UserName, email);
         }
         else
         {
             validator.ShouldHaveValidationErrorFor(p => p.UserName, email);
         }
     });
 }
Esempio n. 5
0
        public void Should_Fail_On_Last_Name_Too_Long()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 300),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Last cannot be longer than 255 characters.").Should().NotBeNull();
        }
Esempio n. 6
0
        public void Should_Fail_On_Empty_Last_Name()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = string.Empty,
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Last name cannot be empty.").Should().NotBeNull();
        }
Esempio n. 7
0
        public void Should_Fail_On_Invalid_Passowrd()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Password should include at least one capital letter, one digit and one non-alohanumeric character.").Should().NotBeNull();
        }
Esempio n. 8
0
        public void Should_Fail_On_Passowrd_Too_Short()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Password cannot be shorter than 8 characters.").Should().NotBeNull();
        }
Esempio n. 9
0
        public void Should_Fail_On_Invalid_Email()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "testtesttesttest",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(false);
            result.Errors.FirstOrDefault(e => e.ErrorMessage == "Valid email address shuld be provided.").Should().NotBeNull();
        }
Esempio n. 10
0
        public void Should_Pass_On_Correct_Request()
        {
            var validator   = new CreateUserRequestValidator();
            var mockRequest = new CreateUserRequest()
            {
                FirstName = new string('*', 8),
                LastName  = new string('*', 8),
                Email     = "*****@*****.**",
                Address   = new string('*', 8),
                Phone     = new string('1', 8),
                Sex       = 1,
                Password  = "******"
            };

            var result = validator.Validate(mockRequest);

            result.IsValid.Should().Be(true);
            result.Errors.Count.Should().Be(0);
        }
Esempio n. 11
0
        public void Should_pass_when_all_fields_are_filled_correctly()
        {
            ExecuteInTransaction(s =>
            {
                var validator = new CreateUserRequestValidator(s);
                //Arrange
                var cmd = new CreateUserRequest
                {
                    Name                 = "Test",
                    UserName             = "******",
                    Password             = "******",
                    PasswordConfirmation = "Password1234",
                    Role                 = "admin"
                };

                //Act
                var validation = validator.Validate(cmd);

                //Assert
                Assert.True(validation.IsValid);
            });
        }
        private static CreateUserRequest GetRequestFromUserInput()
        {
            var validator = new CreateUserRequestValidator();

            while (true)
            {
                RequestInput();
                var userInput = Printer.ReadLine();

                var request = new CreateUserRequest {
                    Username = userInput
                };
                var validationResponse = validator.Validate(request);

                if (validationResponse.IsValid == false)
                {
                    validationResponse.ErrorMessages.ForEach(Printer.PrintLine);
                    continue;
                }

                return(request);
            }
        }
Esempio n. 13
0
        public void Should_fail_when_password_doesnt_match_with_confirmation()
        {
            ExecuteInTransaction(s =>
            {
                var validator = new CreateUserRequestValidator(s);
                //Arrange
                var request = new CreateUserRequest
                {
                    Name                 = "Test",
                    UserName             = "******",
                    Password             = "******",
                    PasswordConfirmation = "1234Password"
                };

                //Act
                var validation = validator.Validate(request);

                //Assert
                Assert.False(validation.IsValid);
                Assert.NotNull(validation.Errors);
                Assert.NotEmpty(validation.Errors);
                Assert.NotNull(validation.Errors.FirstOrDefault(x => x.ErrorMessage == "Passwords do not match"));
            });
        }
 public UsersController()
 {
     _validator      = new CreateUserRequestValidator();
     _userRepository = new UserRepository();
 }
Esempio n. 15
0
 public UserController(UserRepository repository)
 {
     _repository = repository;
     _validator  = new CreateUserRequestValidator();
 }