Example #1
0
        public async Task Buscar_ComFiltro_OK()
        {
            //Retorna somente os filtrados
            var options = OptionsContext();

            var ids = new[] {
                Guid.NewGuid(),
                Guid.NewGuid(),
                Guid.NewGuid(),
            };

            using (var contexto = new ContextoBdAplicacao(options))
            {
                //Preparar
                var servicoEmTeste = new ServicoPersistenciaRestaurante(contexto, BuscaMapper());

                var entidadesExistentes = new[] {
                    new Restaurante {
                        Id            = ids[0],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "Restaurante Azul"
                    },
                    new Restaurante {
                        Id            = ids[1],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "Restaurante Azul e Amarelo"
                    },
                    new Restaurante {
                        Id            = ids[2],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "Restaurante Azul e Vermelho"
                    },
                };
                await contexto.AddRangeAsync(entidadesExistentes);

                await contexto.SaveChangesAsync();

                //Executar
                var resultado = await servicoEmTeste.Buscar("azul amarelo");

                //Verifica
                resultado.Should().BeEquivalentTo(new[] {
                    new RestaurantePersistenciaModel
                    {
                        Id   = ids[1],
                        Nome = "Restaurante Azul e Amarelo"
                    },
                });
            }
        }
Example #2
0
        public async Task Buscar_Ordenado_OK()
        {
            var options        = OptionsContext();
            var idRestaurante  = Guid.NewGuid();
            var idRestaurante2 = Guid.NewGuid();
            var ids            = new[] {
                Guid.NewGuid(),
                Guid.NewGuid(),
                Guid.NewGuid(),
                Guid.NewGuid(),
                Guid.NewGuid(),
            };

            using (var contexto = new ContextoBdAplicacao(options))
            {
                //Preparar
                var servicoEmTeste = new ServicoPersistenciaPrato(contexto, BuscaMapper());

                await contexto.AddAsync(new Restaurante
                {
                    Id   = idRestaurante,
                    Nome = "restaurante-a"
                });

                await contexto.AddAsync(new Restaurante
                {
                    Id   = idRestaurante2,
                    Nome = "restaurante-b"
                });

                var entidadesExistentes = new[] {
                    new Prato {
                        Id            = ids[2],
                        RestauranteId = idRestaurante,
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "prato-c"
                    },
                    new Prato {
                        Id            = ids[0],
                        RestauranteId = idRestaurante,
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "prato-a"
                    },
                    new Prato {
                        Id            = ids[1],
                        RestauranteId = idRestaurante2,
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "prato-b"
                    },
                    new Prato {
                        Id            = ids[4],
                        RestauranteId = idRestaurante2,
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "prato-e"
                    },
                    new Prato {
                        Id            = ids[3],
                        RestauranteId = idRestaurante2,
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "prato-d"
                    },
                };
                await contexto.AddRangeAsync(entidadesExistentes);

                await contexto.SaveChangesAsync();

                //Executar
                var resultado = await servicoEmTeste.Buscar();

                //Verifica
                resultado.Should().BeEquivalentTo(new[] {
                    new PratoPersistenciaModel
                    {
                        Id              = ids[0],
                        RestauranteId   = idRestaurante,
                        RestauranteNome = "restaurante-a",
                        Nome            = "prato-a"
                    },
                    new PratoPersistenciaModel
                    {
                        Id              = ids[2],
                        RestauranteId   = idRestaurante,
                        RestauranteNome = "restaurante-a",
                        Nome            = "prato-c"
                    },
                    new PratoPersistenciaModel
                    {
                        Id              = ids[1],
                        RestauranteId   = idRestaurante2,
                        RestauranteNome = "restaurante-b",
                        Nome            = "prato-b"
                    },
                    new PratoPersistenciaModel
                    {
                        Id              = ids[3],
                        RestauranteId   = idRestaurante2,
                        RestauranteNome = "restaurante-b",
                        Nome            = "prato-d"
                    },
                    new PratoPersistenciaModel
                    {
                        Id              = ids[4],
                        RestauranteId   = idRestaurante2,
                        RestauranteNome = "restaurante-b",
                        Nome            = "prato-e"
                    },
                }, opt => opt.WithStrictOrdering());
            }
        }
Example #3
0
        public async Task Buscar_OrdenadosCorretamente_OK()
        {
            var options = OptionsContext();

            var ids = new[] {
                Guid.NewGuid(),
                Guid.NewGuid(),
                Guid.NewGuid(),
            };

            using (var contexto = new ContextoBdAplicacao(options))
            {
                //Preparar
                var servicoEmTeste = new ServicoPersistenciaRestaurante(contexto, BuscaMapper());

                var entidadesExistentes = new[] {
                    new Restaurante {
                        Id            = ids[0],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "restaurante azul"
                    },
                    new Restaurante {
                        Id            = ids[2],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "restaurante azul e vermelho"
                    },
                    new Restaurante {
                        Id            = ids[1],
                        DataAlteracao = DateTimeOffset.Now,
                        DataCriacao   = DateTimeOffset.Now,
                        Excluido      = false,
                        Nome          = "restaurante azul e amarelo"
                    },
                };
                await contexto.AddRangeAsync(entidadesExistentes);

                await contexto.SaveChangesAsync();

                //Executar
                var resultado = await servicoEmTeste.Buscar();

                //Verifica
                resultado.Should().BeEquivalentTo(new[] {
                    new RestaurantePersistenciaModel
                    {
                        Id   = ids[0],
                        Nome = "restaurante azul"
                    },
                    new RestaurantePersistenciaModel
                    {
                        Id   = ids[1],
                        Nome = "restaurante azul e amarelo"
                    },
                    new RestaurantePersistenciaModel
                    {
                        Id   = ids[2],
                        Nome = "restaurante azul e vermelho"
                    },
                }, opt => opt.WithStrictOrdering());
            }
        }