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));
        }
Exemplo n.º 2
0
        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);
        }