Example #1
0
 public Cep(ViaCepResponse cep)
 {
     this.NumeroDoCep = cep.cep;
     this.Logradouro  = cep.logradouro;
     this.Bairro      = cep.bairro;
     this.Cidade      = cep.localidade;
 }
Example #2
0
        public async Task CadastrarCep_Post_QuandoNaoHaLogradouroNaoPodeInserir()
        {
            // Arrange
            var viewModel = new ViaCepResponse()
            {
                Cep = "00000-000"
            };

            // Act
            var result = await _controller.CadastrarCep(viewModel);

            // Assert
            Assert.NotNull(result);
            var viewResult = Assert.IsType <PartialViewResult>(result);

            Assert.Equal("_PesquisaCep", viewResult.ViewName);
            Assert.False(_controller.ModelState.IsValid);
            Assert.Collection(_controller.ModelState.Values.SelectMany(a => a.Errors), item => Assert.Equal("CEP não pode inserido.", item.ErrorMessage));
        }
Example #3
0
        public async Task CadastrarCep_Post_CadastrarCep()
        {
            // Arrange
            var viewModel = new ViaCepResponse()
            {
                Cep         = "12345-678",
                Logradouro  = "Rua Teste",
                Bairro      = "Bairro Teste",
                Complemento = "Complemento Teste",
                DDD         = "000",
                Uf          = "UF",
                Unidade     = "Unidade Teste",
                Gia         = "123",
                Ibge        = "123456",
                Localidade  = "Localidade Teste",
                Siafi       = "1234",
            };

            // Act
            var result = await _controller.CadastrarCep(viewModel);

            // Assert
            Assert.NotNull(result);
            var viewResult = Assert.IsType <PartialViewResult>(result);

            Assert.Equal("CEP cadastrado na base de dados!!", _controller.TempData["success"]);

            var logradouro = await _db.Logradouros.FirstOrDefaultAsync();

            Assert.Equal(viewModel.Bairro, logradouro.Bairro);
            Assert.Equal(viewModel.Cep, logradouro.Cep);
            Assert.Equal(viewModel.Complemento, logradouro.Complemento);
            Assert.Equal(viewModel.DDD, logradouro.DDD);
            Assert.Equal(viewModel.Logradouro, logradouro.Descricao);
            Assert.Equal(viewModel.Gia, logradouro.Gia);
            Assert.Equal(viewModel.Ibge, logradouro.Ibge);
            Assert.Equal(viewModel.Siafi, logradouro.Siafi);
            Assert.Equal(viewModel.Uf, logradouro.Uf);
            Assert.Equal(viewModel.Unidade, logradouro.Unidade);
            Assert.Equal(viewModel.Localidade, logradouro.Localidade);
        }
Example #4
0
        public async Task <ActionResult> CadastrarCep(ViaCepResponse cepConsultado)
        {
            var existeCepCadastrado = await context.Logradouros.AnyAsync(a => a.Cep.Equals(cepConsultado.Cep));

            if (existeCepCadastrado)
            {
                ModelState.AddModelError("", "CEP já cadastrado em nossa base de dados!");
            }

            if (string.IsNullOrWhiteSpace(cepConsultado.Logradouro))
            {
                ModelState.AddModelError("", "CEP não pode inserido.");
            }

            if (ModelState.IsValid)
            {
                context.Logradouros.Add(new Models.Logradouro()
                {
                    LogradouroId = Guid.NewGuid(),
                    Cep          = cepConsultado.Cep,
                    Bairro       = cepConsultado.Bairro,
                    Complemento  = cepConsultado.Complemento,
                    Gia          = cepConsultado.Gia,
                    Ibge         = cepConsultado.Ibge,
                    Uf           = cepConsultado.Uf,
                    Unidade      = cepConsultado.Unidade,
                    Descricao    = cepConsultado.Logradouro,
                    Localidade   = cepConsultado.Localidade,
                    Siafi        = cepConsultado.Siafi,
                    DDD          = cepConsultado.DDD,
                });

                await context.SaveChangesAsync();

                TempData["success"] = "CEP cadastrado na base de dados!!";
            }

            return(PartialView("_PesquisaCep", null));
        }
Example #5
0
        public async Task Consultar_Post_CadastrarCep()
        {
            // Arrange
            var resultCep = new ViaCepResponse()
            {
                Cep         = "12345-678",
                Logradouro  = "Rua Teste",
                Bairro      = "Bairro Teste",
                Complemento = "Complemento Teste",
                DDD         = "000",
                Uf          = "UF",
                Unidade     = "Unidade Teste",
                Gia         = "123",
                Ibge        = "123456",
                Localidade  = "Localidade Teste",
                Siafi       = "1234",
            };

            _viaCepService.Setup(x => x.BuscaLogradouro(It.IsAny <string>())).Returns(Task.FromResult(resultCep));

            var viewModel = new ConsultaCepViewModel()
            {
                Cep = "12345-678"
            };

            // Act
            var result = await _controller.Consultar(viewModel, "CadastrarNovoCep");

            // Assert
            Assert.NotNull(result);
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal("Indice", viewResult.ViewName);
            var modelResult = Assert.IsType <ConsultaCepViewModel>(viewResult.Model);

            Assert.Equal(viewModel.Cep, modelResult.Cep);
            Assert.Equal("CEP cadastrado na base de dados!!", _controller.TempData["success"]);
        }
Example #6
0
        public async Task CadastrarCep_Post_QuandoCepJaEstaCadastradoDeveSerExibidaAoUsuario()
        {
            // Arrange
            _db.Logradouros.Add(new Models.Logradouro()
            {
                Cep = "12345-678"
            });
            await _db.SaveChangesAsync();

            var viewModel = new ViaCepResponse()
            {
                Cep        = "12345-678",
                Logradouro = "Teste logradouro"
            };

            // Act
            var result = await _controller.CadastrarCep(viewModel);

            // Assert
            Assert.NotNull(result);
            Assert.IsType <PartialViewResult>(result);
            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));
        }