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); }
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)); } }
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)); }
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); }
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 }; }
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); }
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); }
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); }
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); }