Exemplo n.º 1
0
        public async Task <IActionResult> GetAllAsync([FromRoute] int idCliente, [FromRoute] string token)
        {
            try
            {
                var pServicos = await _pfService.GetProfissionalServicos(idCliente, token);

                var ids = new List <int>();

                foreach (var item in pServicos)
                {
                    if (item.Profissional != null)
                    {
                        ids.Add(item.Profissional.ID);
                    }
                }

                var telefones = _tfService.GetAllAsync(ids, token);
                var enderecos = _edService.GetAllAsync(ids, token);

                foreach (var s in pServicos)
                {
                    if (s.Profissional != null)
                    {
                        s.Profissional.Telefone = telefones.FirstOrDefault(t => t.ProfissionalId.Equals(s.Profissional.ID));
                        s.Profissional.Endereco = enderecos.FirstOrDefault(e => e.ProfissionalId.Equals(s.Profissional.ID));
                    }
                }

                return(Ok(pServicos));
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Não foi possível completar a operação."));
            }
        }
        public async void GetAllAsync_Enderecos_Test()
        {
            // Arrange
            var enderecos = new List <Endereco>()
            {
                new Endereco
                {
                    Id         = Guid.Parse("c0b4493d-75dc-4f8f-8259-d10114831889"),
                    Logradouro = "Avenida Atlantica, 4",
                    Bairro     = "Copacabana",
                    Cidade     = "Rio de Janeiro",
                    Estado     = "Rio de Janeiro",
                    ClienteId  = Guid.Parse("3ce3c638-88fb-492a-b6db-ae3ac3910d66")
                },
                new Endereco
                {
                    Id         = Guid.Parse("f245a61e-dd49-44c8-a1fb-f57247d244c2"),
                    Logradouro = "Rua Haddock Lobo, 27",
                    Bairro     = "Tijuca",
                    Cidade     = "Rio de Janeiro",
                    Estado     = "Rio de Janeiro",
                    ClienteId  = Guid.Parse("8b90ec7b-20ea-413a-a4fc-2dbd40f7d2ed")
                },
                new Endereco
                {
                    Id         = Guid.Parse("08c0fecb-1866-47e2-b059-0b61518bc6c4"),
                    Logradouro = "Avenida Ataulfo de Paiva, 128",
                    Bairro     = "Leblon",
                    Cidade     = "Rio de Janeiro",
                    Estado     = "Rio de Janeiro",
                    ClienteId  = Guid.Parse("57e8dd30-01ef-48ba-baaf-3358fb2c0a81")
                },
            };

            // Valid
            foreach (var endereco in enderecos)
            {
                enderecoValidation.Validate(endereco).Errors.Should().BeNullOrEmpty();
            }

            // Moq
            enderecoRepository.Setup(x => x.GetAllAsync()).ReturnsAsync(enderecos);

            // Act
            var result = await enderecoService.GetAllAsync();

            // Assert
            result.Should().HaveCount(3);
        }