コード例 #1
0
        public void GetOne_DeveRetornarUmaReceita()
        {
            //Arrange
            // insere receitas
            var arrozComFeijao = new Receita()
            {
                Id           = 3,
                Titulo       = "Feijão com Arroz",
                Descricao    = "Um belo prato de feijão com arroz que alimenta todo bom brasileiro",
                Ingredientes = "Feijão, Arroz",
                Preparacao   = "Misture o feijão com o arroz e pronto.",
                UrlDaImagem  = "http://media.agoramt.com.br/2016/10/arroz-e-feij%C3%A3o.jpg"
            };

            var context = CreateTestContext();

            context.AddRange(arrozComFeijao);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            //Act
            var receitas = controller.Get(arrozComFeijao.Id);

            //Assert
            receitas.Value.Should().BeEquivalentTo(new ReceitaViewModel()
            {
                Id          = arrozComFeijao.Id,
                Title       = arrozComFeijao.Titulo,
                Description = arrozComFeijao.Descricao,
                Ingredients = arrozComFeijao.Ingredientes,
                Preparation = arrozComFeijao.Preparacao,
                ImageUrl    = arrozComFeijao.UrlDaImagem
            });
        }
コード例 #2
0
        public void Delete_DeveDeletarReceita()
        {
            //criar receita para testar
            var brigadeiro = new Receita()
            {
                Id           = 5,
                Titulo       = "Brigadeiro",
                Descricao    = "Um belo brigadeiro",
                Ingredientes = "Chocolate, Leite Condensado",
                Preparacao   = "Misture o e leve ao fogo.",
                UrlDaImagem  = "https://img.itdg.com.br/tdg/images/recipes/000/000/114/75811/75811_original.jpg?mode=crop&width=710&height=400"
            };

            var context = CreateTestContext();

            context.AddRange(brigadeiro);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            // Act
            controller.Delete(brigadeiro.Id);

            // var receita = controller.Get(brigadeiro.Id);
            var receitaDoBanco = context.Receitas.FirstOrDefault(r => r.Id == brigadeiro.Id);

            //Assert
            receitaDoBanco.Should().BeNull();
        }
コード例 #3
0
        public void Get_DeveResponderComTodasAsReceitasCadastradas()
        {
            var receitasCadastradas = cadastrarReceitas();


            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var controller = new ReceitasController(context);
            var receitas   = controller.Get();

            receitas.Value.Should().BeEquivalentTo(new ReceitasViewModel[] {
                new ReceitasViewModel()
                {
                    Id          = 1,
                    Title       = "Batata frita",
                    Description = "Batata frita é aquele acompanhamento do qual todo mundo gosta e também é um aperitivo delicioso.",
                    ImageUrl    = "https://img.elo7.com.br/product/original/1DEEFB7/caixinha-embalagem-batata-frita-e-porcoes-peq-preto-500un-embalagem-food-truck.jpg",
                    Ingredients = "Batata, óleo e sal a gosto.",
                    Preparation = "Teste",
                },

                new ReceitasViewModel()
                {
                    Id          = 2,
                    Title       = "Pizza",
                    Description = "Tudo sempre termina em pizza então por que não?",
                    ImageUrl    = "https://i.huffpost.com/gen/985357/original.jpg",
                    Ingredients = "1 xícara (chá) de leite 1 ovo 1 colher (chá) de sal 1 colher (chá) de açúcar 1 colher (sopa) de margarina 1 e 1/2 xícara (chá) de farinha de trigo 1 colher (sobremesa) de fermento em pó 1/2 lata de molho de tomate",
                    Preparation = "Teste2",
                }
            });
        }
コード例 #4
0
        public void Update_ComFalha()
        {
            var batataFrita = new Receita()
            {
                Id          = 1,
                Title       = "Batata frita",
                Description = "Batata frita é aquele acompanhamento do qual todo mundo gosta e também é um aperitivo delicioso.",
                Ingredients = "Batata, óleo e sal a gosto.",
                Preparation = "1) Dê preferência à batata asterix, também conhecida como rosada ou portuguesa. Ela tem menos água do que os outros tipos de batata.\n2) Lave bem as batatas em água corrente e, se eles estiverem muito sujas, use uma escovinha para limpá-las.\n3) Descasque as batatas e deixe-as de molho: isso evita que elas escureçam.\n4) Depois, é só cortá-las do jeito que você preferir: em palitos grossos ou finos, em rodelas, chips…\n5) Seque bem as batatas com papel-toalha ou pano de prato limpo: isso vai fazer com que o óleo não espirre em você durante a fritura.\n6) Coloque óleo em uma panela alta e leve ao fogo. Para ver se o óleo está quente o suficiente, coloque um palito de fósforo dentro da panela: quando ele acender, é sinal de que o óleo está bom para ser usado. Retire o palito de fósforo.\n7) Coloque um pouco das batatas no panela e mexa com cuidado para que elas não grudem. Depois, pare de mexer. Quando as batatas estiverem esbranquiçadas, retire-as do óleo e coloque-as numa travessa com papel-toalha. Você pode fazer isso bem antes de as batatas serem servidas.\n8) Um pouco antes da refeição, esquente novamente o óleo e coloque as batatas já pré-fritas. Deixe que fritem até que fiquem douradinhas, retire do óleo e leve para uma travessa forrada com papel-toalha.\n9) Depois, é só colocar sal e servir sua batata frita crocante e sequinha!",
                ImageUrl    = "https://img.elo7.com.br/product/original/1DEEFB7/caixinha-embalagem-batata-frita-e-porcoes-peq-preto-500un-embalagem-food-truck.jpg"
            };

            var context = CreateTestContext();

            context.Add(batataFrita);
            context.SaveChanges();

            var controller = new ReceitasController(context);
            var viewModel  = new ReceitaViewModel(batataFrita.Id, "TESTETESTETESTETESTE", batataFrita.Description, batataFrita.Ingredients, batataFrita.Preparation, batataFrita.ImageUrl);

            Action act = () => controller.Update(1, viewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Passa o título direito mano.");
        }
コード例 #5
0
        public void Put_DeveAtualizarInformacaoSolicitada()
        {
            var receitasCadastradas = cadastrarReceitas();

            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tgas",
                Description = "Isso é um teste",
            };
            var controller = new ReceitasController(context);
            var result     = controller.Put(2, receitaViewModel);

            var receitas = result.Value;

            receitas
            .Title
            .Should()
            .Be(receitaViewModel.Title);

            receitas
            .Description
            .Should()
            .Be(receitaViewModel.Description);
        }
コード例 #6
0
        public void Put_DeveRetornarUmaExeceptionTituloForaDoTamanho()
        {
            //criar receita para testar
            var brigadeiro = new Receita()
            {
                Id           = 7,
                Titulo       = "Brigadeiro",
                Descricao    = "Um belo briagdeiro",
                Ingredientes = "Chocolate, Leite Condensado",
                Preparacao   = "Misture o e leve ao fogo.",
                UrlDaImagem  = "https://img.itdg.com.br/tdg/images/recipes/000/000/114/75811/75811_original.jpg?mode=crop&width=710&height=400"
            };

            var context = CreateTestContext();

            context.AddRange(brigadeiro);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            // Act
            Action act = () => controller.Put(brigadeiro.Id, new ReceitaViewModel()
            {
                Id          = brigadeiro.Id,
                Title       = "Titulo modificado gigante pra caramba GRANDE não sei cade a execption que deiva estar aqui!",
                Description = "Descrição modificada",
                Ingredients = brigadeiro.Ingredientes,
                Preparation = brigadeiro.Preparacao,
                ImageUrl    = brigadeiro.UrlDaImagem
            });

            act.Should().Throw <Exception>().WithMessage("Passa o titulo direito");
        }
コード例 #7
0
        public void GetOne_DeveResponderComUmaReceitaNula()
        {
            var context = CreateTestContext();

            var controller = new ReceitasController(context);
            var receitas   = controller.GetOne(46);

            receitas.Value.Should().BeNull();
        }
コード例 #8
0
        public void GetAll_DeveResponderComTodasAsReceitasCadastradasAsync()
        {
            //Arrange
            // insere receitas
            var arrozComFeijao = new Receita()
            {
                Id           = 1,
                Titulo       = "Feijão com Arroz",
                Descricao    = "Um belo prato de feijão com arroz que alimenta todo bom brasileiro",
                Ingredientes = "Feijão, Arroz",
                Preparacao   = "Misture o feijão com o arroz e pronto.",
                UrlDaImagem  = "http://media.agoramt.com.br/2016/10/arroz-e-feij%C3%A3o.jpg"
            };
            var batataFrita = new Receita()
            {
                Id           = 2,
                Titulo       = "Batatas Fritas",
                Descricao    = "Uma porção de batata",
                Ingredientes = "Batata, Óleo, Sal",
                Preparacao   = "Misture o feijão com o arroz e pronto.",
                UrlDaImagem  = "https://panelinha-sitenovo.s3-sa-east-1.amazonaws.com/receita/953607600000-Batata-frita-tradicional.jpg"
            };

            var context = CreateTestContext();

            context.AddRange(arrozComFeijao, batataFrita);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            //Act
            var receitas = controller.Get();

            //Assert
            receitas.Value.Should().BeEquivalentTo(new ReceitaViewModel[] {
                new ReceitaViewModel()
                {
                    Id          = arrozComFeijao.Id,
                    Title       = arrozComFeijao.Titulo,
                    Description = arrozComFeijao.Descricao,
                    Ingredients = arrozComFeijao.Ingredientes,
                    Preparation = arrozComFeijao.Preparacao,
                    ImageUrl    = arrozComFeijao.UrlDaImagem
                },
                new ReceitaViewModel()
                {
                    Id          = batataFrita.Id,
                    Title       = batataFrita.Titulo,
                    Description = batataFrita.Descricao,
                    Ingredients = batataFrita.Ingredientes,
                    Preparation = batataFrita.Preparacao,
                    ImageUrl    = batataFrita.UrlDaImagem
                }
            });
        }
コード例 #9
0
        public void Insert_DeveLancarUmaException()
        {
            var receitaViewModel = new ReceitaViewModel(1, "Coxinha asdasdasdasdsadsadasdsa5559598", "è baita", "entra dinheiro no caixa", "folder", "");
            var context          = CreateTestContext();
            var controller       = new ReceitasController(context);

            Action act = () => controller.Insert(receitaViewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Passa o título direito mano.");
        }
コード例 #10
0
        public void GetOne_DeveRetornarNull()
        {
            //Arrange
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            //Act
            var receitas = controller.Get(-1);

            //Assert
            receitas.Value.Should().BeNull();
        }
コード例 #11
0
        public void Insert_DeveLancarException_QuandoExcederLimiteDeCaracteres()
        {
            // Arrange
            var receitaViewModel = new ReceitaViewModel(7, "Arrozzzzzzzzzzzzz", "Arroz", "Arroz", "Cozinha ele", "2wCEAAkGBxMTEhUSExMWFhUVFhUVGBUYFxUWFRUVFxUXFxUVFRYYHSggGBolHRUVITEhJSkrLi4uFx8zODMtNygtLisBCgoKDg0OGxAQGy0lHyUtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLf");
            var context          = CreateTestContext();
            var controller       = new ReceitasController(context);

            // Act
            Action acao = () => controller.Insert(receitaViewModel);

            acao.Should().Throw <Exception>().WithMessage("PODE MAIOR QUE 10 NÃO MEU PARÇA");
        }
コード例 #12
0
        public void Insert_DeveInserirAReceitaSolicitada()
        {
            var receitaViewModel = new ReceitaViewModel(1, "Coxinha", "è baita", "entra dinheiro no caixa", "folder", "");
            var context          = CreateTestContext();
            var controller       = new ReceitasController(context);

            var result         = controller.Insert(receitaViewModel);
            var receitaDoBanco = context.Receitas.FirstOrDefault(receita => receita.Title == receitaViewModel.Title);

            result.Value.Should().BeEquivalentTo(receitaViewModel);
            receitaDoBanco.Should().NotBeNull("Por que ela deve ser existente no banco de dados.");
        }
コード例 #13
0
        public void GetAll_TodasReceitasCadastradas()
        {
            var escondidinho = new Receita("Escondidinho", "De batata com carne moída", "carne, batata, margarina, leite",
                                           "merge de tudo no liquidificador",
                                           "https://guiadacozinha.com.br/wp-content/uploads/2017/01/escondidinho-arroz-carne-moida-pure.jpg")
            {
                Id = 3
            };

            var batataFrita = new Receita("Batata Frita", "batata frita vegana", "batata, oleo, bacon",
                                          "Jogue tudo no oleo", "https://rechlanches.com.br/wp-content/uploads/2017/06/porcao-de-batatas-fritas-grande-com-bancon-rechlanches-joinville.jpg")
            {
                Id = 4
            };
            //insere as receitas

            var context = CreateTestContext();

            context.AddRange(escondidinho, batataFrita);
            context.SaveChanges();

            var controller = new ReceitasController(context);
            var receitas   = controller.GetAll();

            var viewModel1 = new ReceitaViewModel()
            {
                Id          = 3,
                Title       = "Escondidinho",
                Description = "De batata com carne moída",
                Ingredients = "carne, batata, margarina, leite",
                Preparation = "merge de tudo no liquidificador",
                ImageUrl    = "https://guiadacozinha.com.br/wp-content/uploads/2017/01/escondidinho-arroz-carne-moida-pure.jpg"
            };

            var viewModel2 = new ReceitaViewModel()
            {
                Id          = 4,
                Title       = "Batata Frita",
                Description = "batata frita vegana",
                Ingredients = "batata, oleo, bacon",
                Preparation = "Jogue tudo no oleo",
                ImageUrl    = "https://rechlanches.com.br/wp-content/uploads/2017/06/porcao-de-batatas-fritas-grande-com-bancon-rechlanches-joinville.jpg"
            };

            receitas.Value.Should().BeEquivalentTo(
                new List <ReceitaViewModel>()
            {
                viewModel1, viewModel2
            }
                );
        }
コード例 #14
0
        public async void InsertAsync_DeveInserirAReceitaSolicitada()
        {
            var receitaParaInserir = new ReceitaViewModel(Guid.Empty, "lasanha", "bastante carboidrato", "massa, queijo", "assar", "rec.com/las");
            var context            = CreateTestContext();

            var controller      = new ReceitasController(context);
            var receitaInserida = await controller.InsertAsync(receitaParaInserir);

            var receitaDoBanco = context
                                 .Receitas
                                 .FirstOrDefault(r => r.Id == receitaInserida.Value.Id);

            receitaDoBanco.Should().NotBeNull();
            receitaDoBanco.Id.Should().NotBeEmpty();
            receitaDoBanco.Titulo.Should().Be(receitaParaInserir.Title);
        }
コード例 #15
0
        public void Put_DeveAtualizarReceita()
        {
            //criar receita para testar
            var brigadeiro = new Receita()
            {
                Id           = 6,
                Titulo       = "Brigadeiro",
                Descricao    = "Um belo briagdeiro",
                Ingredientes = "Chocolate, Leite Condensado",
                Preparacao   = "Misture o e leve ao fogo.",
                UrlDaImagem  = "https://img.itdg.com.br/tdg/images/recipes/000/000/114/75811/75811_original.jpg?mode=crop&width=710&height=400"
            };
            string tituloModificado    = "Titulo V2";
            string descricaoModificado = "Descrição V2";

            var context = CreateTestContext();

            context.AddRange(brigadeiro);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            controller.Put(brigadeiro.Id, new ReceitaViewModel()
            {
                Id          = brigadeiro.Id,
                Title       = tituloModificado,
                Description = descricaoModificado,
                Ingredients = brigadeiro.Ingredientes,
                Preparation = brigadeiro.Preparacao,
                ImageUrl    = brigadeiro.UrlDaImagem
            });

            var receitaDoBanco = context.Receitas.FirstOrDefault(r => r.Id == brigadeiro.Id);

            //Assert
            receitaDoBanco.Should().BeEquivalentTo(new Receita()
            {
                Id           = brigadeiro.Id,
                Titulo       = tituloModificado,
                Descricao    = descricaoModificado,
                Ingredientes = brigadeiro.Ingredientes,
                Preparacao   = brigadeiro.Preparacao,
                UrlDaImagem  = brigadeiro.UrlDaImagem
            });

            context.Receitas.Remove(receitaDoBanco);
            context.SaveChanges();
        }
コード例 #16
0
        public async void DeleteOneAsync_DeveDeletarAReceitaSolicitada()
        {
            var arrozComFeijao = new Receita("Feijão com Arroz", "Um belo prato de feijão com arroz.", "Feijão, Arroz", "Misture.", "rec.com/fjar");
            var batataFrita    = new Receita("Batatas Fritas", "Uma porção de batata", "Batata, Óleo, Sal", "Frite a bata", "rec.com/btfr");

            var context = CreateTestContext();

            context.AddRange(arrozComFeijao, batataFrita);
            await context.SaveChangesAsync();

            var controller = new ReceitasController(context);
            await controller.DeleteOneAsync(arrozComFeijao.Id);

            var idsReceitas = await context.Receitas.Select(r => r.Id).ToArrayAsync();

            idsReceitas.Should().NotContain(arrozComFeijao.Id);
        }
コード例 #17
0
        public void Insert_DeveInserir()
        {
            // Arrange
            var receitaViewModel = new ReceitaViewModel(7, "Arroz", "Arroz", "Arroz", "Cozinha ele", "2wCEAAkGBxMTEhUSExMWFhUVFhUVGBUYFxUWFRUVFxUXFxUVFRYYHSggGBolHRUVITEhJSkrLi4uFx8zODMtNygtLisBCgoKDg0OGxAQGy0lHyUtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLf");
            var context          = CreateTestContext();
            var controller       = new ReceitasController(context);

            // Act
            var result         = controller.Insert(receitaViewModel);
            var receitaDoBanco = context.Receitas.FirstOrDefaultAsync(receita => receita.Title == receitaViewModel.Title);

            //result.Value.Should().BeEquivalentTo(receitaViewModel);

            //Assert
            receitaDoBanco.Should().NotBeNull("Por que deve ter algo no banco");
            receitaDoBanco.Result.Should().BeEquivalentTo(receitaViewModel, c => c.Excluding(r => r.Id));
        }
コード例 #18
0
        public async void GetOne_DeveResponderComAReceitaSolicitada()
        {
            var arrozComFeijao = new Receita("Feijão com Arroz", "Um belo prato de feijão com arroz.", "Feijão, Arroz", "Misture.", "rec.com/fjar");
            var batataFrita    = new Receita("Batatas Fritas", "Uma porção de batata", "Batata, Óleo, Sal", "Frite a bata", "rec.com/btfr");

            var context = CreateTestContext();

            context.AddRange(arrozComFeijao, batataFrita);
            await context.SaveChangesAsync();

            var controller = new ReceitasController(context);
            var receita    = await controller.GetOneAsync(batataFrita.Id);

            receita.Value.Should().BeEquivalentTo(
                new ReceitaViewModel(batataFrita.Id, batataFrita.Titulo, batataFrita.Descricao,
                                     batataFrita.Ingredientes, batataFrita.Preparacao, batataFrita.UrlDaImagem)
                );
        }
コード例 #19
0
        public void Insert_DeveLancarUmaExeption()
        {
            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tesfzjsgfhzjsgfzkjas",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            Action act = () => controller.Post(receitaViewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Erro");
        }
コード例 #20
0
        public void Post_DeveRetornarUmaExeception()
        {
            //Arrange
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            // Act
            Action act = () => controller.Post(new ReceitaViewModel()
            {
                Id          = 4,
                Title       = "Brigadeiro com nome grande",
                Description = "Um belo briagdeiro com nome grande",
                Ingredients = "Chocolate, Leite Condensado, Nome grande",
                Preparation = "Misture o e leve a um fogo GRANDE.",
                ImageUrl    = "fake.com/brigadeiro_grande"
            });

            act.Should().Throw <Exception>().WithMessage("Passa o titulo direito");
        }
コード例 #21
0
        public void Post_DeveInserirUmaReceita()
        {
            //Arrange
            var brigadeiro = new Receita()
            {
                Id           = 4,
                Titulo       = "Brigadeiro",
                Descricao    = "Um belo briagdeiro",
                Ingredientes = "Chocolate, Leite Condensado",
                Preparacao   = "Misture o e leve ao fogo.",
                UrlDaImagem  = "https://img.itdg.com.br/tdg/images/recipes/000/000/114/75811/75811_original.jpg?mode=crop&width=710&height=400"
            };

            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            // Act
            controller.Post(new ReceitaViewModel()
            {
                Id          = brigadeiro.Id,
                Title       = brigadeiro.Titulo,
                Description = brigadeiro.Descricao,
                Ingredients = brigadeiro.Ingredientes,
                Preparation = brigadeiro.Preparacao,
                ImageUrl    = brigadeiro.UrlDaImagem
            });

            var receita        = controller.Get(brigadeiro.Id);
            var receitaDoBanco = context.Receitas.FirstOrDefault(r => r.Id == brigadeiro.Id);

            //Assert
            receita.Value.Should().BeEquivalentTo(new ReceitaViewModel()
            {
                Id          = brigadeiro.Id,
                Title       = brigadeiro.Titulo,
                Description = brigadeiro.Descricao,
                Ingredients = brigadeiro.Ingredientes,
                Preparation = brigadeiro.Preparacao,
                ImageUrl    = brigadeiro.UrlDaImagem
            });
            receitaDoBanco.Should().NotBeNull();
        }
コード例 #22
0
        public async void UpdateAsync_DeveAtualizarAReceitaInserida()
        {
            var arrozPuro = new Receita("arroz", "branco", "só arroz", "cozinhar", "rec.com/arz");

            var context = CreateTestContext();

            context.Add(arrozPuro);
            await context.SaveChangesAsync();

            var controller = new ReceitasController(context);

            var arrozComFeijao =
                new ReceitaViewModel(
                    arrozPuro.Id, "arroz com feijão", "arroz branco e feijão preto", "só arroz e feijão", "cozinhar e misturar", "rec.com/aef");
            await controller.UpdateAsync(arrozComFeijao);

            context.Receitas
            .FirstOrDefault(r => r.Id == arrozComFeijao.Id)
            .Titulo.Should().Be(arrozComFeijao.Title);
        }
コード例 #23
0
        public void Update_DeveEditarReceita()
        {
            // Arrange
            var receita = new Receita()
            {
                Id          = 10,
                Title       = "velho",
                Description = "Receita baita",
                ImageUrl    = "saas",
                Ingredients = "Varias paradas",
                Preparation = "Something"
            };
            var context = CreateTestContext();

            context.Receitas.Add(receita);
            context.SaveChanges();

            var receitaViewModel = new ReceitaViewModel()
            {
                Title       = "novo",
                Description = "Nova descricao"
            };
            var controller = new ReceitasController(context);

            // Act
            var result = controller.Update(10, receitaViewModel);

            // Assert

            var receitaNoBanco = context.Receitas.FirstOrDefault(r => r.Id == receita.Id);

            receitaNoBanco.Title.Should().Be(receitaViewModel.Title);
            receitaNoBanco.Description.Should().Be(receitaViewModel.Description);

            // Atualizar alguma coisa
            // Ter salvo no banco - done
            // Front passa o id, e os campos que serão atualizados
            // Fazer asserção se o  campo foi atualizado
        }
コード例 #24
0
        public void Get_DeveResponderComReceitaSolicitada()
        {
            var receitasCadastradas = cadastrarReceitas();

            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var controller = new ReceitasController(context);
            var receitas   = controller.Get(2);

            receitas.Value.Should().BeEquivalentTo(new ReceitasViewModel()
            {
                Id          = 2,
                Title       = "Pizza",
                Description = "Tudo sempre termina em pizza então por que não?",
                ImageUrl    = "https://i.huffpost.com/gen/985357/original.jpg",
                Ingredients = "1 xícara (chá) de leite 1 ovo 1 colher (chá) de sal 1 colher (chá) de açúcar 1 colher (sopa) de margarina 1 e 1/2 xícara (chá) de farinha de trigo 1 colher (sobremesa) de fermento em pó 1/2 lata de molho de tomate",
                Preparation = "Teste2",
            }
                                                   );
        }
コード例 #25
0
        public void Insert_DeveInserirReceitaSolicitada()
        {
            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Testaaaaabhnnfyhthyte",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var context    = CreateTestContext();
            var controller = new ReceitasController(context);

            var result      = controller.Post(receitaViewModel);
            var receitaPost = result.Value;

            receitaPost
            .Should()
            .BeEquivalentTo(receitaViewModel, c => c.Excluding(r => r.Id));

            var receitaDoBanco = context.Receitas.FirstOrDefault(receita => receita.Id == receitaPost.Id);

            receitaDoBanco.Should().NotBeNull("Porque ela deve ser existente no banco de dados.");
        }
コード例 #26
0
        public void Put_DeveLancarUmaExeption()
        {
            var receitasCadastradas = cadastrarReceitas();

            var context = CreateTestContext();

            context.AddRange(receitasCadastradas);
            context.SaveChanges();

            var receitaViewModel = new ReceitasViewModel()
            {
                Title       = "Tesfzjsgfhzjsgffdszkjas",
                Description = "Isso é um teste",
                Preparation = "Coxinha",
                Ingredients = "Teste1",
                ImageUrl    = "urlimagem"
            };
            var controller = new ReceitasController(context);

            Action act = () => controller.Put(2, receitaViewModel);

            act.Should().Throw <Exception>()
            .WithMessage("Erro");
        }
コード例 #27
0
        public void Put_DeveAtualizarApenasTituloEDescricao()
        {
            //criar receita para testar
            string originalIngredientes = "Chocolate, Leite Condensado";
            string originalPreparacao   = "Misture o e leve ao fogo.";
            string originalUrlDaImagem  = "https://img.itdg.com.br/tdg/images/recipes/000/000/114/75811/75811_original.jpg?mode=crop&width=710&height=400";

            var brigadeiro = new Receita()
            {
                Id           = 8,
                Titulo       = "Brigadeiro",
                Descricao    = "Um belo briagdeiro",
                Ingredientes = originalIngredientes,
                Preparacao   = originalPreparacao,
                UrlDaImagem  = originalUrlDaImagem
            };

            var context = CreateTestContext();

            context.AddRange(brigadeiro);
            context.SaveChanges();
            var controller = new ReceitasController(context);

            // Act
            Action act = () => controller.Put(brigadeiro.Id, new ReceitaViewModel()
            {
                Id          = brigadeiro.Id,
                Title       = "Titulo modificado",
                Description = "Descrição modificada",
                Ingredients = "Ingredientes modificada",
                Preparation = "Preparação modificada",
                ImageUrl    = "Url da imagem modificada"
            });

            act.Should().Throw <Exception>().WithMessage("Só podem ser modificados o titulo e a descrição");
        }
コード例 #28
0
        public async void GetAll_DeveResponderComTodasAsReceitasCadastradasAsync()
        {
            var batataFrita = new Receita()
            {
                Id          = 1,
                Title       = "Batata frita",
                Description = "Batata frita é aquele acompanhamento do qual todo mundo gosta e também é um aperitivo delicioso.",
                Ingredients = "Batata, óleo e sal a gosto.",
                Preparation = "1) Dê preferência à batata asterix, também conhecida como rosada ou portuguesa. Ela tem menos água do que os outros tipos de batata.\n2) Lave bem as batatas em água corrente e, se eles estiverem muito sujas, use uma escovinha para limpá-las.\n3) Descasque as batatas e deixe-as de molho: isso evita que elas escureçam.\n4) Depois, é só cortá-las do jeito que você preferir: em palitos grossos ou finos, em rodelas, chips…\n5) Seque bem as batatas com papel-toalha ou pano de prato limpo: isso vai fazer com que o óleo não espirre em você durante a fritura.\n6) Coloque óleo em uma panela alta e leve ao fogo. Para ver se o óleo está quente o suficiente, coloque um palito de fósforo dentro da panela: quando ele acender, é sinal de que o óleo está bom para ser usado. Retire o palito de fósforo.\n7) Coloque um pouco das batatas no panela e mexa com cuidado para que elas não grudem. Depois, pare de mexer. Quando as batatas estiverem esbranquiçadas, retire-as do óleo e coloque-as numa travessa com papel-toalha. Você pode fazer isso bem antes de as batatas serem servidas.\n8) Um pouco antes da refeição, esquente novamente o óleo e coloque as batatas já pré-fritas. Deixe que fritem até que fiquem douradinhas, retire do óleo e leve para uma travessa forrada com papel-toalha.\n9) Depois, é só colocar sal e servir sua batata frita crocante e sequinha!",
                ImageUrl    = "https://img.elo7.com.br/product/original/1DEEFB7/caixinha-embalagem-batata-frita-e-porcoes-peq-preto-500un-embalagem-food-truck.jpg"
            };
            var macarronada = new Receita()
            {
                Id          = 2,
                Title       = "Macarronada",
                Description = "Perfeito para servir em reuniões da família.",
                Ingredients = "1 pacote de macarrão para macarronada \n1 caixa de extrato de tomate (grande)\n1/2 kg de carne moída\nCebolinha, pimentaõ, cheiro verde, alho, tomate (para temperar carne) knnor\n2 creme de leite\n200 g de queijo mussarela\n100 g de presunto",
                Preparation = "1) Dê preferência à batata asterix, também conhecida como rosada ou portuguesa. Ela tem menos água do que os outros tipos de batata.\n2) Lave bem as batatas em água corrente e, se eles estiverem muito sujas, use uma escovinha para limpá-las.\n3) Descasque as batatas e deixe-as de molho: isso evita que elas escureçam.\n4) Depois, é só cortá-las do jeito que você preferir: em palitos grossos ou finos, em rodelas, chips…\n5) Seque bem as batatas com papel-toalha ou pano de prato limpo: isso vai fazer com que o óleo não espirre em você durante a fritura.\n6) Coloque óleo em uma panela alta e leve ao fogo. Para ver se o óleo está quente o suficiente, coloque um palito de fósforo dentro da panela: quando ele acender, é sinal de que o óleo está bom para ser usado. Retire o palito de fósforo.\n7) Coloque um pouco das batatas no panela e mexa com cuidado para que elas não grudem. Depois, pare de mexer. Quando as batatas estiverem esbranquiçadas, retire-as do óleo e coloque-as numa travessa com papel-toalha. Você pode fazer isso bem antes de as batatas serem servidas.\n8) Um pouco antes da refeição, esquente novamente o óleo e coloque as batatas já pré-fritas. Deixe que fritem até que fiquem douradinhas, retire do óleo e leve para uma travessa forrada com papel-toalha.\n9) Depois, é só colocar sal e servir sua batata frita crocante e sequinha!",
                ImageUrl    = "https://images-americanas.b2w.io/produtos/01/00/sku/38259/3/38259310_1GG.jpg"
            };

            var context = CreateTestContext();

            context.AddRange(macarronada, batataFrita);
            await context.SaveChangesAsync();

            var controller = new ReceitasController(context);
            var receitas   = controller.Get();

            receitas.Value.Should().HaveCount(2);

            var viewModelEsperado1 = new ReceitaViewModel()
            {
                Id          = macarronada.Id,
                Title       = macarronada.Title,
                Description = macarronada.Description,
                Ingredients = macarronada.Ingredients,
                Preparation = macarronada.Preparation,
                ImageUrl    = macarronada.ImageUrl
            };

            var viewModelEsperado2 = new ReceitaViewModel()
            {
                Id          = batataFrita.Id,
                Title       = batataFrita.Title,
                Description = batataFrita.Description,
                Ingredients = batataFrita.Ingredients,
                Preparation = batataFrita.Preparation,
                ImageUrl    = batataFrita.ImageUrl
            };

            //Asserts
            receitas.Value.Should().BeEquivalentTo(new ReceitaViewModel[]
            {
                new ReceitaViewModel()
                {
                    Id          = 1,
                    Title       = "Batata frita",
                    Description = "Batata frita é aquele acompanhamento do qual todo mundo gosta e também é um aperitivo delicioso.",
                    Ingredients = "Batata, óleo e sal a gosto.",
                    Preparation = "1) Dê preferência à batata asterix, também conhecida como rosada ou portuguesa. Ela tem menos água do que os outros tipos de batata.\n2) Lave bem as batatas em água corrente e, se eles estiverem muito sujas, use uma escovinha para limpá-las.\n3) Descasque as batatas e deixe-as de molho: isso evita que elas escureçam.\n4) Depois, é só cortá-las do jeito que você preferir: em palitos grossos ou finos, em rodelas, chips…\n5) Seque bem as batatas com papel-toalha ou pano de prato limpo: isso vai fazer com que o óleo não espirre em você durante a fritura.\n6) Coloque óleo em uma panela alta e leve ao fogo. Para ver se o óleo está quente o suficiente, coloque um palito de fósforo dentro da panela: quando ele acender, é sinal de que o óleo está bom para ser usado. Retire o palito de fósforo.\n7) Coloque um pouco das batatas no panela e mexa com cuidado para que elas não grudem. Depois, pare de mexer. Quando as batatas estiverem esbranquiçadas, retire-as do óleo e coloque-as numa travessa com papel-toalha. Você pode fazer isso bem antes de as batatas serem servidas.\n8) Um pouco antes da refeição, esquente novamente o óleo e coloque as batatas já pré-fritas. Deixe que fritem até que fiquem douradinhas, retire do óleo e leve para uma travessa forrada com papel-toalha.\n9) Depois, é só colocar sal e servir sua batata frita crocante e sequinha!",
                    ImageUrl    = "https://img.elo7.com.br/product/original/1DEEFB7/caixinha-embalagem-batata-frita-e-porcoes-peq-preto-500un-embalagem-food-truck.jpg"
                },
                new ReceitaViewModel()
                {
                    Id          = 2,
                    Title       = "Macarronada",
                    Description = "Perfeito para servir em reuniões da família.",
                    Ingredients = "1 pacote de macarrão para macarronada \n1 caixa de extrato de tomate (grande)\n1/2 kg de carne moída\nCebolinha, pimentaõ, cheiro verde, alho, tomate (para temperar carne) knnor\n2 creme de leite\n200 g de queijo mussarela\n100 g de presunto",
                    Preparation = "1) Dê preferência à batata asterix, também conhecida como rosada ou portuguesa. Ela tem menos água do que os outros tipos de batata.\n2) Lave bem as batatas em água corrente e, se eles estiverem muito sujas, use uma escovinha para limpá-las.\n3) Descasque as batatas e deixe-as de molho: isso evita que elas escureçam.\n4) Depois, é só cortá-las do jeito que você preferir: em palitos grossos ou finos, em rodelas, chips…\n5) Seque bem as batatas com papel-toalha ou pano de prato limpo: isso vai fazer com que o óleo não espirre em você durante a fritura.\n6) Coloque óleo em uma panela alta e leve ao fogo. Para ver se o óleo está quente o suficiente, coloque um palito de fósforo dentro da panela: quando ele acender, é sinal de que o óleo está bom para ser usado. Retire o palito de fósforo.\n7) Coloque um pouco das batatas no panela e mexa com cuidado para que elas não grudem. Depois, pare de mexer. Quando as batatas estiverem esbranquiçadas, retire-as do óleo e coloque-as numa travessa com papel-toalha. Você pode fazer isso bem antes de as batatas serem servidas.\n8) Um pouco antes da refeição, esquente novamente o óleo e coloque as batatas já pré-fritas. Deixe que fritem até que fiquem douradinhas, retire do óleo e leve para uma travessa forrada com papel-toalha.\n9) Depois, é só colocar sal e servir sua batata frita crocante e sequinha!",
                    ImageUrl    = "https://images-americanas.b2w.io/produtos/01/00/sku/38259/3/38259310_1GG.jpg"
                }
            });
        }