public async Task <ActionResult> BuscarPorNome(string nome) { if (string.IsNullOrWhiteSpace(nome)) { return(Json(new { sucesso = false, mensagem = "Nome da cidade é obrigatório.", status = HttpStatusCode.BadRequest }, JsonRequestBehavior.AllowGet)); } var cidadesVM = await _previsaoTempoCidadeAppService.BuscarCidadesPeloNomeAsync(nome); if (cidadesVM == null || !cidadesVM.Any()) { return(Json(new { sucesso = false, mensagem = "Cidade não encontrada.", status = HttpStatusCode.NotFound }, JsonRequestBehavior.AllowGet)); } return(Json(new { sucesso = true, conteudo = cidadesVM, status = HttpStatusCode.OK }, JsonRequestBehavior.AllowGet)); }
public async Task ConsigoBuscarBuscarCidadesPeloNome() { _previsaoTempoCidadeAppServiceMock .Setup(p => p.BuscarAsync <CidadesDTO>(It.IsAny <string>())) .ReturnsAsync(new CidadesDTO { Cidades = new List <CidadeDTO> { new CidadeDTO { OpenWeatherId = "123", Nome = "Blumenau", Coordenadas = new CoordenadasDTO { Latitude = 12.44, Longitude = 55.8 }, Pais = new PaisDTO { Sigla = "BR" } }, new CidadeDTO { OpenWeatherId = "555", Nome = "Blumenau", Coordenadas = new CoordenadasDTO { Latitude = 45, Longitude = 29.79 }, Pais = new PaisDTO { Sigla = "DE" } } } }); var cidades = await _previsaoTempoCidadeAppService.BuscarCidadesPeloNomeAsync("blumenau"); Assert.NotNull(cidades); Assert.Equal(2, cidades.Count); var cidade = cidades.First(); Assert.Equal(0, cidade.Id); Assert.Equal("123", cidade.OpenWeatherId); Assert.Equal("Blumenau", cidade.Nome); Assert.Equal(12.44, cidade.Latitude); Assert.Equal(55.8, cidade.Longitude); Assert.Equal("BR", cidade.Pais); cidade = cidades.Last(); Assert.Equal(0, cidade.Id); Assert.Equal("555", cidade.OpenWeatherId); Assert.Equal("Blumenau", cidade.Nome); Assert.Equal(45, cidade.Latitude); Assert.Equal(29.79, cidade.Longitude); Assert.Equal("DE", cidade.Pais); _previsaoTempoCidadeAppServiceMock.Verify(p => p.BuscarAsync <CidadesDTO>(It.IsAny <string>()), Times.Once); }