public async Task <ActionResult> PrevisaoTempo(string id) { if (string.IsNullOrWhiteSpace(id)) { return(Json(new { sucesso = false, mensagem = "Id da cidade é obrigatório.", status = HttpStatusCode.BadRequest }, JsonRequestBehavior.AllowGet)); } var previsaoTempoVM = await _previsaoTempoCidadeAppService .BuscarPrevisaoTempoCidadeAsync(id); if (previsaoTempoVM == null || !previsaoTempoVM.Any()) { return(Json(new { sucesso = false, mensagem = "Previsão do tempo não encontrada para cidade.", status = HttpStatusCode.NotFound }, JsonRequestBehavior.AllowGet)); } return(Json(new { sucesso = true, conteudo = previsaoTempoVM, status = HttpStatusCode.OK }, JsonRequestBehavior.AllowGet)); }
public async Task ConsigoBuscarPrevisaoTempoCidade() { _previsaoTempoCidadeAppServiceMock .Setup(p => p.BuscarAsync <PrevisaoTempoDTO>(It.IsAny <string>())) .ReturnsAsync(new PrevisaoTempoDTO { PrevisaoTempoDataHoraDTO = new List <PrevisaoTempoDataHoraDTO> { new PrevisaoTempoDataHoraDTO { Temperatura = new TemperaturaDTO { TemperaturaMinima = 10.05, TemperaturaMaxima = 20.35, Umidade = 70 }, Clima = new List <ClimaDTO> { new ClimaDTO { Descricao = "nublado", Icone = "teste" }, new ClimaDTO { Descricao = "chuva fraca", Icone = "teste2" } }, DataHora = new DateTime(2019, 8, 1, 18, 0, 0) }, new PrevisaoTempoDataHoraDTO { Temperatura = new TemperaturaDTO { TemperaturaMinima = 13, TemperaturaMaxima = 19, Umidade = 50 }, Clima = new List <ClimaDTO> { new ClimaDTO { Descricao = "nuvens dispersas", Icone = "teste3" } }, DataHora = new DateTime(2019, 8, 1, 21, 0, 0) } } }); var previsao = await _previsaoTempoCidadeAppService.BuscarPrevisaoTempoCidadeAsync("123"); Assert.NotNull(previsao); Assert.Single(previsao); var prev = previsao.First(); Assert.Equal("quinta-feira, 01 agosto", prev.Data); Assert.Equal(2, prev.PrevisaoHoras.Count); var prevHora = prev.PrevisaoHoras.First(); Assert.Equal("15:00", prevHora.Hora); Assert.Equal("nublado", prevHora.Descricao); Assert.Equal("teste", prevHora.Icone); Assert.Equal(10.05, prevHora.TemperaturaMinima); Assert.Equal(20.35, prevHora.TemperaturaMaxima); Assert.Equal(70, prevHora.Umidade); prevHora = prev.PrevisaoHoras.Last(); Assert.Equal("18:00", prevHora.Hora); Assert.Equal("nuvens dispersas", prevHora.Descricao); Assert.Equal("teste3", prevHora.Icone); Assert.Equal(13, prevHora.TemperaturaMinima); Assert.Equal(19, prevHora.TemperaturaMaxima); Assert.Equal(50, prevHora.Umidade); _previsaoTempoCidadeAppServiceMock.Verify(p => p.BuscarAsync <PrevisaoTempoDTO>(It.IsAny <string>()), Times.Once); }