public async Task Consultar_Post_QuandoCepJaEstaCadastradoDeveSerExibidaAoUsuario() { // Arrange _db.Logradouros.Add(new Models.Logradouro() { Cep = "12345-678" }); await _db.SaveChangesAsync(); _viaCepService.Setup(x => x.BuscaLogradouro(It.IsAny <string>())).Returns(Task.FromResult(new ViewModels.ViaCepResponse() { Cep = "12345-678" })); var viewModel = new ConsultaCepViewModel() { Cep = "12345-678" }; // Act var result = await _controller.Consultar(viewModel, "Consultar"); // Assert Assert.NotNull(result); var viewResult = Assert.IsType <ViewResult>(result); var modelResult = Assert.IsType <ConsultaCepViewModel>(viewResult.Model); Assert.Equal(viewModel.Cep, modelResult.Cep); Assert.False(_controller.ModelState.IsValid); Assert.Collection(_controller.ModelState.Values.SelectMany(a => a.Errors), item => Assert.Equal("CEP já cadastrado em nossa base de dados!", item.ErrorMessage)); }
public async Task <IActionResult> Put(int id, Endereco endereco) { if (id != endereco.EnderecoId) { return(BadRequest()); } endereco.DataAtualizacao = DateTime.Now; _context.Entry(endereco).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EnderecoExists(id)) { return(NotFound()); } else { throw; } } return(Ok(endereco)); }
public async Task <ActionResult> Consultar(ConsultaCepViewModel viewModel, string value = "") { viewModel.Resposta = await this.viaCepApiService.BuscaLogradouro(viewModel.Cep); if (viewModel.Resposta.Erro) { ModelState.AddModelError("", "CEP inválido ou não encontrado"); } else { var existeCepCadastrado = await context.Logradouros.AnyAsync(a => a.Cep.Equals(viewModel.Cep)); if (existeCepCadastrado) { ModelState.AddModelError("", "CEP já cadastrado em nossa base de dados!"); } } if (ModelState.IsValid) { if (value.Equals("CadastrarNovoCep")) { context.Logradouros.Add(new Models.Logradouro() { LogradouroId = Guid.NewGuid(), Cep = viewModel.Resposta.Cep, Bairro = viewModel.Resposta.Bairro, Complemento = viewModel.Resposta.Complemento, Gia = viewModel.Resposta.Gia, Ibge = viewModel.Resposta.Ibge, Uf = viewModel.Resposta.Uf, Unidade = viewModel.Resposta.Unidade, Descricao = viewModel.Resposta.Logradouro, Localidade = viewModel.Resposta.Localidade, DDD = viewModel.Resposta.DDD, Siafi = viewModel.Resposta.Siafi }); await context.SaveChangesAsync(); TempData["success"] = "CEP cadastrado na base de dados!!"; } if (Request?.IsAjaxRequest() ?? false) { return(PartialView("_CepResultado", viewModel.Resposta)); } } if (Request?.IsAjaxRequest() ?? false) { return(PartialView("_PesquisaCep", viewModel)); } return(View("Indice", viewModel)); }