Ejemplo n.º 1
0
        public IHttpActionResult CreateUser([FromBody] CreateUserCommand command)
        {
            if (command == null)
            {
                return(BadRequest(DefaultMessages.InvalidBody));
            }
            ValidationError error = new CreateUserCommandValidator().Validate(command);

            if (error.IsInvalid)
            {
                return(BadRequest(error.Error));
            }
            UsersRepository repository = new UsersRepository(Connection);

            if (repository.UserExists(command.UserId))
            {
                return(BadRequest("Já existe um usuário com este nome."));
            }
            if (repository.EmailExists(command.Email))
            {
                return(BadRequest("Já existe um usuário cadastrado neste e-mail."));
            }
            repository.Create(command);
            return(Ok());
        }
        public void Validate_GivenAllPropertiesAreValid_ExpectValidationSuccess()
        {
            var cmd       = new CreateUserCommand("*****@*****.**", "first-name", "last-name", true, true, new List <Guid>());
            var validator = new CreateUserCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.True(result.IsValid);
        }
        public void Validate_GivenLastNameIsEmpty_ExpectValidationFailure()
        {
            var cmd       = new CreateUserCommand("*****@*****.**", "first-name", string.Empty, true, true, new List <Guid>());
            var validator = new CreateUserCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "LastName");
        }
        public void Validate_GivenEmailAddressIsNull_ExpectValidationFailure()
        {
            var cmd       = new CreateUserCommand(null, "first-name", "last-name", true, true, new List <Guid>());
            var validator = new CreateUserCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "EmailAddress");
        }
Ejemplo n.º 5
0
        public async Task Validate_GivenInvalidRequest_ShouldReturnFalseWithErrors()
        {
            // Arrange
            var expectedNumberOfValidationErrors = 4;
            var sut   = new CreateUserCommandValidator();
            var query = new CreateUserCommand();

            // Act
            var res = await sut.ValidateAsync(query);

            // Assert
            res.IsValid.Should().BeFalse();
            res.Errors.Count.Equals(expectedNumberOfValidationErrors);
        }
Ejemplo n.º 6
0
        public async Task Validate_GivenValidRequest_ShouldReturnTrue()
        {
            // Arrange
            var sut   = new CreateUserCommandValidator();
            var query = new CreateUserCommand
            {
                FirstName    = "Bob",
                LastName     = "Test",
                EmailAddress = "*****@*****.**",
                DOB          = DateTime.Today.AddYears(-30)
            };

            // Act
            var res = await sut.ValidateAsync(query);

            // Assert
            res.IsValid.Should().BeTrue();
        }
 public CreateUserCommandValidatorTests(QueryTestFixture fixture)
 {
     _context   = fixture.Context;
     _validator = new CreateUserCommandValidator();
 }
Ejemplo n.º 8
0
 public AddUserCommandValidatorTests()
 {
     validator = new CreateUserCommandValidator();
 }
Ejemplo n.º 9
0
        public void CreateUserCommandValidationTests(CreateUserCommand command, Action <CreateUserCommand, CreateUserCommandValidator> assertation)
        {
            var validator = new CreateUserCommandValidator(Context);

            assertation(command, validator);
        }
 public override bool IsValid()
 {
     ValidationResult = new CreateUserCommandValidator().Validate(this);
     return(ValidationResult.IsValid);
 }
 public CreateUserCommandValidatorTests()
 {
     _validator = new CreateUserCommandValidator();
 }
Ejemplo n.º 12
0
 public CreateUserValidatorTest()
 {
     // Arrange
     Validator = new CreateUserCommandValidator();
 }