public async Task RetornoCreatedTest()
        {
            var serviceMock = new Mock <IMunicipioService>();

            serviceMock.Setup(m => m.Post(It.IsAny <MunicipioDtoCreate>())).ReturnsAsync(
                new MunicipioDtoCreateResult
            {
                Id       = Guid.NewGuid(),
                Nome     = "São Paulo",
                CreateAt = DateTime.UtcNow
            }
                );

            _controller = new MunicipiosController(serviceMock.Object);

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var municipioDtoCreate = new MunicipioDtoCreate
            {
                Nome    = "São Paulo",
                CodIbge = 1
            };

            var result = await _controller.Post(municipioDtoCreate);

            Assert.True(result is CreatedResult);
        }
Exemplo n.º 2
0
        public async Task E_Possivel_Invocar_a_Controller_Create()
        {
            var serviceMock = new Mock <IMunicipioService>();

            serviceMock.Setup(m => m.Post(It.IsAny <MunicipioDtoCreate>())).ReturnsAsync(
                new MunicipioDtoCreateResult {
                Id       = Guid.NewGuid(),
                Nome     = "São Paulo",
                CreateAt = DateTime.UtcNow
            }
                );

            _controller = new MunicipiosController(serviceMock.Object);
            _controller.ModelState.AddModelError("Nome", "É um campo obrigatório");

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var municipioDtoCreate = new MunicipioDtoCreate {
                Nome    = "São Paulo",
                CodIBGE = 1
            };

            var result = await _controller.Post(municipioDtoCreate);

            Assert.True(result is BadRequestObjectResult);
        }
        public async Task <ActionResult> Post([FromBody] MunicipioDtoCreate dtoCreate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var result = await _service.Post(dtoCreate);

                if (result != null)
                {
                    return(Created(new Uri(Url.Link("GetById", new { id = result.Id })), result));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (ArgumentException e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
Exemplo n.º 4
0
        public async Task E_Possivel_Invocar_a_Controller_Create()
        {
            var serviceMock = new Mock <IMunicipioService>();

            serviceMock.Setup(m => m.Post(It.IsAny <MunicipioDtoCreate>())).ReturnsAsync(
                new MunicipioDtoCreateResult
            {
                Id       = Guid.NewGuid(),
                Cidade   = "Rio de Janeiro",
                CreateAt = DateTime.UtcNow
            }
                );

            _controller = new MunicipiosController(serviceMock.Object);

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var municipioDtoCreate = new MunicipioDtoCreate
            {
                Cidade = "Rio de Janeiro"
            };

            var result = await _controller.Post(municipioDtoCreate);

            Assert.True(result is CreatedResult);
        }
        public async Task <MunicipioDtoCreateResult> Post(MunicipioDtoCreate municipio)
        {
            var model  = _mapper.Map <MunicipioModel>(municipio);
            var entity = _mapper.Map <MunicipioEntity>(model);
            var result = await _repository.InsertAsync(entity);

            return(_mapper.Map <MunicipioDtoCreateResult>(result));
        }
Exemplo n.º 6
0
        public async Task <MunicipioDto> Post(MunicipioDtoCreate municipio)
        {
            var entity = _mapper.Map <MunicipioEntity>(municipio);

            entity = await _repository.Post(entity);

            return(_mapper.Map <MunicipioDto>(entity));
        }
        public async Task E_Possivel_Invocar_a_Controller_Create()
        {
            var serviceMock = new Mock <IMunicipioService>();
            var Nome        = Faker.Address.City();
            var CodIBGE     = Faker.RandomNumber.Next(1000000, 9999999);
            var UfId        = Guid.NewGuid();

            serviceMock.Setup(c => c.Post(It.IsAny <MunicipioDtoCreate>())).ReturnsAsync(
                new MunicipioDtoCreateResult
            {
                Id       = Guid.NewGuid(),
                Nome     = Nome,
                CodIBGE  = CodIBGE,
                UfId     = UfId,
                CreateAt = DateTime.UtcNow
            }
                );

            _controller = new MunicipiosController(serviceMock.Object);
            _controller.ModelState.AddModelError("Name", "É um campo Obrigatório");

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var userDTOCreate = new MunicipioDtoCreate
            {
                Nome    = Nome,
                CodIBGE = CodIBGE,
                UfId    = UfId
            };

            var result = await _controller.Post(userDTOCreate);

            Assert.True(result is BadRequestObjectResult);
        }
        public MunicipioTestes()
        {
            IdMunicipio                 = Guid.NewGuid();
            NomeMunicipio               = Faker.Address.StreetAddress();
            CodigoIBGEMunicipio         = Faker.RandomNumber.Next(1, 10000);
            NomeMunicipioAlterado       = Faker.Address.StreetAddress();
            CodigoIBGEMunicipioAlterado = Faker.RandomNumber.Next(1, 10000);
            IdUf = Guid.NewGuid();

            for (int i = 0; i < 10; i++)
            {
                var dto = new MunicipioDto()
                {
                    Id      = Guid.NewGuid(),
                    Nome    = Faker.Address.StreetAddress(),
                    CodIBGE = Faker.RandomNumber.Next(1, 10000),
                    UfId    = Guid.NewGuid()
                };

                listaDto.Add(dto);
            }

            municipioDto = new MunicipioDto()
            {
                Id      = IdMunicipio,
                Nome    = NomeMunicipio,
                CodIBGE = CodigoIBGEMunicipio,
                UfId    = IdUf
            };

            municipioDtoCompleto = new MunicipioDtoCompleto()
            {
                Id      = IdMunicipio,
                Nome    = NomeMunicipio,
                CodIBGE = CodigoIBGEMunicipio,
                UfId    = IdUf,
                Uf      = new UfDto()
                {
                    Id    = Guid.NewGuid(),
                    Nome  = Faker.Address.UsState(),
                    Sigla = Faker.Address.UsState().Substring(1, 3)
                }
            };

            municipioDtoCreate = new MunicipioDtoCreate()
            {
                Nome    = NomeMunicipio,
                CodIBGE = CodigoIBGEMunicipio,
                UfId    = IdUf
            };

            municipioDtoCreateResult = new MunicipioDtoCreateResult()
            {
                Id       = IdMunicipio,
                Nome     = NomeMunicipio,
                CodIBGE  = CodigoIBGEMunicipio,
                UfId     = IdUf,
                CreateAt = DateTime.UtcNow
            };

            municipioDtoUpdate = new MunicipioDtoUpdate()
            {
                Id      = IdMunicipio,
                Nome    = NomeMunicipioAlterado,
                CodIBGE = CodigoIBGEMunicipioAlterado,
                UfId    = IdUf
            };

            municipioDtoUpdateResult = new MunicipioDtoUpdateResult()
            {
                Id       = IdMunicipio,
                Nome     = NomeMunicipioAlterado,
                CodIBGE  = CodigoIBGEMunicipioAlterado,
                UfId     = IdUf,
                UpdateAt = DateTime.UtcNow
            };
        }
        public async Task RequestMunicipioTest()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate()
            {
                Nome    = "Sinop",
                CodIbge = 3550308,
                UfId    = new Guid("22ffbd18-cdb9-45cc-97b0-51e97700bf71")
            };


            //Post
            var response = await PostJsonAsync(municipioDto, $"{hostApi}municipios", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <MunicipioDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("Sinop", registroPost.Nome);
            Assert.Equal(3550308, registroPost.CodIbge);
            Assert.True(registroPost.Id != default(Guid));

            //Get All
            response = await client.GetAsync($"{hostApi}municipios");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            var jsonResult = await response.Content.ReadAsStringAsync();

            var listaFromJson = JsonConvert.DeserializeObject <IEnumerable <MunicipioDto> >(jsonResult);

            Assert.NotNull(listaFromJson);
            Assert.True(listaFromJson.Count() > 0);
            Assert.True(listaFromJson.Where(r => r.Id == registroPost.Id).Count() == 1);

            var updateMunicipioDto = new MunicipioDtoUpdate()
            {
                Id      = registroPost.Id,
                Nome    = "Sinop",
                CodIbge = 3526902,
                UfId    = new Guid("22ffbd18-cdb9-45cc-97b0-51e97700bf71")
            };

            //PUT
            var stringContent = new StringContent(JsonConvert.SerializeObject(updateMunicipioDto),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}Municipios", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <MunicipioDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("Sinop", registroAtualizado.Nome);
            Assert.Equal(3526902, registroAtualizado.CodIbge);

            //GET Id
            response = await client.GetAsync($"{hostApi}Municipios/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <MunicipioDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionado.CodIbge, registroAtualizado.CodIbge);

            //GET Complete/Id
            response = await client.GetAsync($"{hostApi}Municipios/Complete/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionadoCompleto = JsonConvert.DeserializeObject <MunicipioDtoComplete>(jsonResult);

            Assert.NotNull(registroSelecionadoCompleto);
            Assert.Equal(registroSelecionadoCompleto.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoCompleto.CodIbge, registroAtualizado.CodIbge);
            Assert.NotNull(registroSelecionadoCompleto.uf);
            Assert.Equal("Mato Grosso", registroSelecionadoCompleto.uf.Nome);
            Assert.Equal("MT", registroSelecionadoCompleto.uf.Sigla);

            //GET byCodIbge
            response = await client.GetAsync($"{hostApi}Municipios/byIbge/{registroAtualizado.CodIbge}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionadoIBGECompleto = JsonConvert.DeserializeObject <MunicipioDtoComplete>(jsonResult);

            Assert.NotNull(registroSelecionadoIBGECompleto);
            Assert.Equal(registroSelecionadoIBGECompleto.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoIBGECompleto.CodIbge, registroAtualizado.CodIbge);
            Assert.NotNull(registroSelecionadoIBGECompleto.uf);
            Assert.Equal("Mato Grosso", registroSelecionadoIBGECompleto.uf.Nome);
            Assert.Equal("MT", registroSelecionadoIBGECompleto.uf.Sigla);

            //DELETE
            response = await client.DeleteAsync($"{hostApi}Municipios/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //GET ID depois do DELETE
            response = await client.GetAsync($"{hostApi}Municipios/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 10
0
        public MunicipioTestes()
        {
            IdMunicipio        = Guid.NewGuid();
            Cidade             = Faker.Address.StreetName();
            NomeCidadeAlterado = Faker.Address.StreetName();
            IdUf = Guid.NewGuid();

            for (int i = 0; i < 10; i++)
            {
                var dto = new MunicipioDto()
                {
                    Id     = Guid.NewGuid(),
                    Cidade = Faker.Name.FullName(),
                    UfId   = Guid.NewGuid()
                };
                listaDto.Add(dto);
            }

            municipioDto = new MunicipioDto
            {
                Id     = IdMunicipio,
                Cidade = Cidade,
                UfId   = IdUf
            };

            municipioDtoCompleto = new MunicipioDtoCompleto
            {
                Id     = IdMunicipio,
                Cidade = Cidade,
                UfId   = IdUf,
                Uf     = new UfDto
                {
                    Id     = Guid.NewGuid(),
                    Estado = Faker.Address.UsState(),
                    Sigla  = Faker.Address.UsState().Substring(1, 3)
                }
            };

            municipioDtoCreate = new MunicipioDtoCreate
            {
                Cidade = Cidade,
                UfId   = IdUf
            };

            municipioDtoCreateResult = new MunicipioDtoCreateResult
            {
                Id       = IdMunicipio,
                Cidade   = Cidade,
                UfId     = IdUf,
                CreateAt = DateTime.UtcNow
            };

            municipioDtoUpdate = new MunicipioDtoUpdate
            {
                Id     = IdMunicipio,
                Cidade = NomeCidadeAlterado,
                UfId   = IdUf
            };

            municipioDtoUpdateResult = new MunicipioDtoUpdateResult
            {
                Id       = IdMunicipio,
                Cidade   = NomeCidadeAlterado,
                UfId     = IdUf,
                UpdateAt = DateTime.UtcNow
            };
        }
Exemplo n.º 11
0
        public async Task E_Possivel_Realizar_Crud_Municipio()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate()
            {
                Nome = "São Paulo",
                CodIBGE = 3550308,
                UfId = new Guid("e7e416de-477c-4fa3-a541-b5af5f35ccf6")
            };


            //Post
            var response = await PostJsonAsync(municipioDto, $"{hostApi}municipios", client);
            var postResult = await response.Content.ReadAsStringAsync();
            var registroPost = JsonConvert.DeserializeObject<MunicipioDtoCreateResult>(postResult);
            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("São Paulo", registroPost.Nome);
            Assert.Equal(3550308, registroPost.CodIBGE);
            Assert.True(registroPost.Id != default(Guid));

            //Get All
            response = await client.GetAsync($"{hostApi}municipios");
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            var jsonResult = await response.Content.ReadAsStringAsync();
            var listaFromJson = JsonConvert.DeserializeObject<IEnumerable<MunicipioDto>>(jsonResult);
            Assert.NotNull(listaFromJson);
            Assert.True(listaFromJson.Count() > 0);
            Assert.True(listaFromJson.Where(r => r.Id == registroPost.Id).Count() == 1);

            var updateMunicipioDto = new MunicipioDtoUpdate()
            {
                Id = registroPost.Id,
                Nome = "Limeira",
                CodIBGE = 3526902,
                UfId = new Guid("e7e416de-477c-4fa3-a541-b5af5f35ccf6")
            };

            //PUT
            var stringContent = new StringContent(JsonConvert.SerializeObject(updateMunicipioDto),
                                    Encoding.UTF8, "application/json");
            response = await client.PutAsync($"{hostApi}Municipios", stringContent);
            jsonResult = await response.Content.ReadAsStringAsync();
            var registroAtualizado = JsonConvert.DeserializeObject<MunicipioDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("Limeira", registroAtualizado.Nome);
            Assert.Equal(3526902, registroAtualizado.CodIBGE);

            //GET Id
            response = await client.GetAsync($"{hostApi}Municipios/{registroAtualizado.Id}");
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();
            var registroSelecionado = JsonConvert.DeserializeObject<MunicipioDto>(jsonResult);
            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionado.CodIBGE, registroAtualizado.CodIBGE);

            //GET Complete/Id
            response = await client.GetAsync($"{hostApi}Municipios/Complete/{registroAtualizado.Id}");
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();
            var registroSelecionadoCompleto = JsonConvert.DeserializeObject<MunicipioDtoCompleto>(jsonResult);
            Assert.NotNull(registroSelecionadoCompleto);
            Assert.Equal(registroSelecionadoCompleto.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoCompleto.CodIBGE, registroAtualizado.CodIBGE);
            Assert.NotNull(registroSelecionadoCompleto.Uf);
            Assert.Equal("São Paulo", registroSelecionadoCompleto.Uf.Nome);
            Assert.Equal("SP", registroSelecionadoCompleto.Uf.Sigla);

            //GET byIBGE/CodIBGE
            response = await client.GetAsync($"{hostApi}Municipios/byIBGE/{registroAtualizado.CodIBGE}");
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();
            var registroSelecionadoIBGECompleto = JsonConvert.DeserializeObject<MunicipioDtoCompleto>(jsonResult);
            Assert.NotNull(registroSelecionadoIBGECompleto);
            Assert.Equal(registroSelecionadoIBGECompleto.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoIBGECompleto.CodIBGE, registroAtualizado.CodIBGE);
            Assert.NotNull(registroSelecionadoIBGECompleto.Uf);
            Assert.Equal("São Paulo", registroSelecionadoIBGECompleto.Uf.Nome);
            Assert.Equal("SP", registroSelecionadoIBGECompleto.Uf.Sigla);

            //DELETE
            response = await client.DeleteAsync($"{hostApi}Municipios/{registroSelecionado.Id}");
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //GET ID depois do DELETE
            response = await client.GetAsync($"{hostApi}Municipios/{registroSelecionado.Id}");
            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

        }
Exemplo n.º 12
0
        public async Task E_Possivel_Realizar_Crud_CEP()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate()
            {
                Nome    = "São Paulo",
                CodIBGE = 3550308,
                UfId    = new Guid("e7e416de-477c-4fa3-a541-b5af5f35ccf6")
            };

            //Post
            var response = await PostJsonAsync(municipioDto, $"{hostApi}municipios", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <MunicipioDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("São Paulo", registroPost.Nome);
            Assert.Equal(3550308, registroPost.CodIBGE);
            Assert.True(registroPost.Id != default(Guid));

            var cepDto = new CepDtoCreate()
            {
                Cep         = "13480180",
                Logradouro  = "Rua Boa Morte",
                Numero      = "até nº 200",
                MunicipioId = registroPost.Id
            };

            //Post
            response = await PostJsonAsync(cepDto, $"{hostApi}ceps", client);

            postResult = await response.Content.ReadAsStringAsync();

            var registroCepPost = JsonConvert.DeserializeObject <CepDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(cepDto.Cep, registroCepPost.Cep);
            Assert.Equal(cepDto.Logradouro, registroCepPost.Logradouro);
            Assert.Equal(cepDto.Numero, registroCepPost.Numero);
            Assert.True(registroCepPost.Id != default(Guid));

            var cepMunicipioDto = new CepDtoUpdate()
            {
                Id          = registroCepPost.Id,
                Cep         = "13480180",
                Logradouro  = "Rua da Liberdade",
                Numero      = "até nº 200",
                MunicipioId = registroPost.Id
            };

            //PUT
            var stringContent = new StringContent(JsonConvert.SerializeObject(cepMunicipioDto),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}ceps", stringContent);

            var jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <CepDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal(cepMunicipioDto.Logradouro, registroAtualizado.Logradouro);

            //GET Id
            response = await client.GetAsync($"{hostApi}ceps/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(cepMunicipioDto.Logradouro, registroSelecionado.Logradouro);

            //GET Cep
            response = await client.GetAsync($"{hostApi}ceps/byCep/{registroAtualizado.Cep}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);
            Assert.NotNull(registroSelecionado);
            Assert.Equal(cepMunicipioDto.Logradouro, registroSelecionado.Logradouro);

            //DELETE
            response = await client.DeleteAsync($"{hostApi}ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //GET ID depois do DELETE
            response = await client.GetAsync($"{hostApi}ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 13
0
        public async Task RequestCepTest()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate()
            {
                Nome    = "Sinop",
                CodIbge = 3550308,
                UfId    = new Guid("22ffbd18-cdb9-45cc-97b0-51e97700bf71")
            };

            //Post
            var response = await PostJsonAsync(municipioDto, $"{hostApi}municipios", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <MunicipioDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("Sinop", registroPost.Nome);
            Assert.Equal(3550308, registroPost.CodIbge);
            Assert.True(registroPost.Id != default(Guid));

            var cepDto = new CepDtoCreate()
            {
                Cep         = "13480180",
                Logradouro  = "Rua Das Samambaias",
                Numero      = "até nº 200",
                MunicipioId = registroPost.Id
            };

            //Post
            response = await PostJsonAsync(cepDto, $"{hostApi}ceps", client);

            postResult = await response.Content.ReadAsStringAsync();

            var registroCepPost = JsonConvert.DeserializeObject <CepDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(cepDto.Cep, registroCepPost.Cep);
            Assert.Equal(cepDto.Logradouro, registroCepPost.Logradouro);
            Assert.Equal(cepDto.Numero, registroCepPost.Numero);
            Assert.True(registroCepPost.Id != default(Guid));

            var cepMunicipioDto = new CepDtoUpdate()
            {
                Id          = registroCepPost.Id,
                Cep         = "13480180",
                Logradouro  = "Rua das Samambaias",
                Numero      = "até nº 200",
                MunicipioId = registroPost.Id
            };

            //PUT
            var stringContent = new StringContent(JsonConvert.SerializeObject(cepMunicipioDto),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}ceps", stringContent);

            var jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <CepDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal(cepMunicipioDto.Logradouro, registroAtualizado.Logradouro);

            //GET Id
            response = await client.GetAsync($"{hostApi}ceps/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(cepMunicipioDto.Logradouro, registroSelecionado.Logradouro);

            //GET Cep
            response = await client.GetAsync($"{hostApi}ceps/byCep/{registroAtualizado.Cep}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);
            Assert.NotNull(registroSelecionado);
            Assert.Equal(cepMunicipioDto.Logradouro, registroSelecionado.Logradouro);

            //DELETE
            response = await client.DeleteAsync($"{hostApi}ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //GET ID depois do DELETE
            response = await client.GetAsync($"{hostApi}ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
        public async Task E_Possivel_Realizar_Crud_Cep()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate
            {
                Nome    = "Guaíba",
                CodIBGE = 123456,
                UfId    = new Guid("88970a32-3a2a-4a95-8a18-2087b65f59d1")
            };

            //Insere Municipio pra usar o ID Gerado no cadastro do CEP
            var response = await PostJsonAsync(municipioDto, $"{hostApi}Municipios", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPostMunicipio = JsonConvert.DeserializeObject <MunicipioDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("Guaíba", registroPostMunicipio.Nome);
            Assert.Equal(123456, registroPostMunicipio.CodIBGE);
            Assert.True(registroPostMunicipio.Id != default(Guid));

            var cepDto = new CepDtoCreate
            {
                Cep         = "92714-630",
                Logradouro  = "Rua Leopoldo Rassier",
                Numero      = "242",
                MunicipioId = registroPostMunicipio.Id
            };

            //Post
            response = await PostJsonAsync(cepDto, $"{hostApi}Ceps", client);

            postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <CepDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("92714-630", registroPost.Cep);
            Assert.Equal("Rua Leopoldo Rassier", registroPost.Logradouro);
            Assert.True(registroPost.Id != default(Guid));

            //Put
            var cepDtoAtualizado = new CepDtoUpdate
            {
                Id          = registroPost.Id,
                Cep         = "92714-630",
                Logradouro  = "Rua Leopoldo Rassier (casa de esquina)",
                Numero      = "242",
                MunicipioId = registroPostMunicipio.Id
            };

            var stringContent = new StringContent(JsonConvert.SerializeObject(cepDtoAtualizado),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}Ceps", stringContent);

            var jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <CepDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("Rua Leopoldo Rassier (casa de esquina)", registroAtualizado.Logradouro);
            Assert.Equal(registroPost.Id, registroAtualizado.Id);

            //Get por ID
            response = await client.GetAsync($"{hostApi}Ceps/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.Id, registroAtualizado.Id);
            Assert.Equal(registroSelecionado.Cep, registroAtualizado.Cep);
            Assert.Equal(registroSelecionado.Logradouro, registroAtualizado.Logradouro);

            //Get por Cep
            response = await client.GetAsync($"{hostApi}Ceps/byCep/{registroAtualizado.Cep}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            registroSelecionado = JsonConvert.DeserializeObject <CepDto>(jsonResult);
            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.Cep, registroAtualizado.Cep);
            Assert.Equal(registroSelecionado.Logradouro, registroAtualizado.Logradouro);

            //Delete
            response = await client.DeleteAsync($"{hostApi}Ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //Get ID depois do Delete
            response = await client.GetAsync($"{hostApi}Ceps/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
Exemplo n.º 15
0
        public async Task E_Possivel_Realizar_Crud_Municipio()
        {
            await AdicionarToken();

            var municipioDto = new MunicipioDtoCreate
            {
                Nome    = "Guaíba",
                CodIBGE = 123456,
                UfId    = new Guid("88970a32-3a2a-4a95-8a18-2087b65f59d1")
            };

            //Post
            var response = await PostJsonAsync(municipioDto, $"{hostApi}municipios", client);

            var postResult = await response.Content.ReadAsStringAsync();

            var registroPost = JsonConvert.DeserializeObject <MunicipioDtoCreateResult>(postResult);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal("Guaíba", registroPost.Nome);
            Assert.Equal(123456, registroPost.CodIBGE);
            Assert.True(registroPost.Id != default(Guid));

            //GetAll
            response = await client.GetAsync($"{hostApi}municipios");

            var jsonResult = await response.Content.ReadAsStringAsync();

            var listaFromJson = JsonConvert.DeserializeObject <IEnumerable <MunicipioDto> >(jsonResult);

            Assert.NotNull(listaFromJson);
            Assert.True(listaFromJson.Count() > 0);
            Assert.True(listaFromJson.Where(x => x.Id == registroPost.Id).Count() == 1);

            //Put
            var municipioDtoAtualizado = new MunicipioDtoUpdate
            {
                Id      = registroPost.Id,
                Nome    = "Porto Alegre",
                CodIBGE = 654321,
                UfId    = new Guid("88970a32-3a2a-4a95-8a18-2087b65f59d1")
            };

            var stringContent = new StringContent(JsonConvert.SerializeObject(municipioDtoAtualizado),
                                                  Encoding.UTF8, "application/json");

            response = await client.PutAsync($"{hostApi}municipios", stringContent);

            jsonResult = await response.Content.ReadAsStringAsync();

            var registroAtualizado = JsonConvert.DeserializeObject <MunicipioDtoUpdateResult>(jsonResult);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("Porto Alegre", registroAtualizado.Nome);
            Assert.Equal(654321, registroAtualizado.CodIBGE);

            //Get Id
            response = await client.GetAsync($"{hostApi}municipios/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionado = JsonConvert.DeserializeObject <MunicipioDto>(jsonResult);

            Assert.NotNull(registroSelecionado);
            Assert.Equal(registroSelecionado.Id, registroAtualizado.Id);
            Assert.Equal(registroSelecionado.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionado.CodIBGE, registroAtualizado.CodIBGE);

            //Get CompleteById/Id
            response = await client.GetAsync($"{hostApi}municipios/CompleteById/{registroAtualizado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionadoCompletoById = JsonConvert.DeserializeObject <MunicipioDtoCompleto>(jsonResult);

            Assert.NotNull(registroSelecionadoCompletoById);
            Assert.Equal(registroSelecionadoCompletoById.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoCompletoById.CodIBGE, registroAtualizado.CodIBGE);
            Assert.NotNull(registroSelecionadoCompletoById.Uf);
            Assert.Equal("Rio Grande do Sul", registroSelecionadoCompletoById.Uf.Nome);
            Assert.Equal("RS", registroSelecionadoCompletoById.Uf.Sigla);


            //Get CompleteByIBGE/Id
            response = await client.GetAsync($"{hostApi}municipios/CompleteByIBGE/{registroAtualizado.CodIBGE}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            jsonResult = await response.Content.ReadAsStringAsync();

            var registroSelecionadoCompletoByIBGE = JsonConvert.DeserializeObject <MunicipioDtoCompleto>(jsonResult);

            Assert.NotNull(registroSelecionadoCompletoByIBGE);
            Assert.Equal(registroSelecionadoCompletoByIBGE.Nome, registroAtualizado.Nome);
            Assert.Equal(registroSelecionadoCompletoByIBGE.CodIBGE, registroAtualizado.CodIBGE);
            Assert.NotNull(registroSelecionadoCompletoByIBGE.Uf);
            Assert.Equal("Rio Grande do Sul", registroSelecionadoCompletoByIBGE.Uf.Nome);
            Assert.Equal("RS", registroSelecionadoCompletoByIBGE.Uf.Sigla);

            //Delete
            response = await client.DeleteAsync($"{hostApi}municipios/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);

            //Get ID depois do Delete
            response = await client.GetAsync($"{hostApi}municipios/{registroSelecionado.Id}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }