public async Task <IActionResult> Put(int id, ClienteEndereco endereco, [FromServices] ClienteEnderecoValidator validator) { try { if (id != endereco.Id) { return(BadRequest()); } var result = await validator.ValidateAsync(endereco); if (!result.IsValid) { return(UnprocessableEntity(new Retorno <ClienteEndereco>(result.Errors))); } _repository.UpdateEndereco(endereco); await _uow.Commit(); return(Ok(new Retorno <ClienteEndereco> { Mensagem = "Endereço atualizado com sucesso", Dados = endereco })); } catch (Exception ex) { await _uow.Rollback(); return(BadRequest(new Retorno <ClienteEndereco>(ex.InnerException?.Message))); } }
public void ClienteEndereco_DeveSerInvalido() { //Arrange var validator = new ClienteEnderecoValidator(); var clienteEndereco = new Faker <ClienteEndereco>("pt_BR") .RuleFor(m => m.Id, f => f.Random.Number(0)) .RuleFor(m => m.Logradouro, f => f.Random.String2(1)) .RuleFor(m => m.Complemento, f => f.Random.String2(101)) .RuleFor(m => m.Bairro, f => f.Random.String2(101)) .RuleFor(m => m.Cidade, f => f.Random.String2(1)) .RuleFor(m => m.Uf, f => f.Random.String2(101)) .RuleFor(m => m.Cep, f => f.Random.String2(101)) .Generate(1)[0]; //Act var result = validator.Validate(clienteEndereco); //Assert result.Errors.Count.Should().BeGreaterThan(0); }
public void ClienteEndereco_DeveSerValido() { //Arrange var validator = new ClienteEnderecoValidator(); var clienteEndereco = new Faker <ClienteEndereco>("pt_BR") .RuleFor(m => m.Id, f => f.Random.Number(int.MaxValue)) .RuleFor(m => m.Logradouro, f => f.Address.StreetName()) .RuleFor(m => m.Numero, f => int.Parse(f.Address.BuildingNumber())) .RuleFor(m => m.Complemento, f => f.Address.SecondaryAddress()) .RuleFor(m => m.Bairro, f => f.Random.String2(10)) .RuleFor(m => m.Cidade, f => f.Address.City()) .RuleFor(m => m.Uf, f => f.Address.StateAbbr()) .RuleFor(m => m.Cep, f => f.Address.ZipCode("########")) .RuleFor(m => m.Ativo, f => f.Random.Bool()) .RuleFor(m => m.DataCriacao, f => f.Date.Recent()) .Generate(1)[0]; //Act var result = validator.Validate(clienteEndereco); //Assert result.Errors.Count.Should().Be(0); }