Exemplo n.º 1
0
        public void UpdateRecipe_ChangesRecipeToExpected()
        {
            var recipe = new Recipe
            {
                Id       = 1,
                IsPublic = true,
                IsShared = true,
            };

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);
            RecipeManagerContextHelper.DetachAllEntities(_recipeManagerContext);


            var expectedRecipe = new Recipe
            {
                Id           = 1,
                ChangedDate  = DateTime.Now,
                CreatedDate  = DateTime.Now,
                Description  = "description of recipe",
                Ingredients  = new List <Ingredient>(),
                Instructions = new List <Instruction>(),
                IsPublic     = true,
                IsShared     = true,
                SharedWith   = new List <RecipeUser>(),
                Name         = "recipe name"
            };

            _recipeRepository.UpdateRecipe(expectedRecipe, true);
            var result = _recipeRepository.GetRecipeById(expectedRecipe.Id);

            Assert.AreEqual(expectedRecipe, result);
        }
Exemplo n.º 2
0
 private void AddRecipesToContext(List <Recipe> recipes)
 {
     foreach (var recipe in recipes)
     {
         RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);
     }
 }
Exemplo n.º 3
0
        public void FavoriteRecipe_DoesNotAddUserIfAlreadyAdded()
        {
            var user = new User
            {
                Id = 2
            };

            RecipeManagerContextHelper.AddUser(_recipeManagerContext, user);

            var recipe = new Recipe
            {
                Id         = 1,
                IsPublic   = true,
                IsShared   = true,
                SharedWith = new List <RecipeUser>()
            };

            recipe.SharedWith.Add(new RecipeUser
            {
                User   = user,
                Recipe = recipe
            });

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);

            _recipeRepository.FavoriteRecipe(recipe.Id, user.Id.ToString(), true);
            var result = _recipeRepository.GetRecipeById(recipe.Id);

            Assert.AreEqual(recipe.SharedWith.First().Id, result.SharedWith.First().Id);
            Assert.AreEqual(recipe.IsShared, result.IsShared);
        }
Exemplo n.º 4
0
        public void DeleteRecipe_RemovesExpectedRecipe()
        {
            var recipe = new Recipe
            {
                Id       = 1,
                IsPublic = true,
                IsShared = true,
            };

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);
            RecipeManagerContextHelper.DetachAllEntities(_recipeManagerContext);

            _recipeRepository.DeleteRecipe(recipe, true);
            var result = _recipeRepository.GetRecipeById(recipe.Id);

            Assert.IsNull(result);
        }
Exemplo n.º 5
0
        public void FavoriteRecipe_AddsUserToSharedWith()
        {
            var user = new User
            {
                Id = 2
            };

            RecipeManagerContextHelper.AddUser(_recipeManagerContext, user);

            var recipe = new Recipe
            {
                Id         = 1,
                IsPublic   = true,
                IsShared   = false,
                SharedWith = null
            };

            var expectedRecipe = new Recipe
            {
                Id         = 1,
                IsPublic   = true,
                IsShared   = true,
                SharedWith = new List <RecipeUser>()
            };

            expectedRecipe.SharedWith.Add(new RecipeUser
            {
                User   = user,
                Recipe = expectedRecipe
            });

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);

            _recipeRepository.FavoriteRecipe(recipe.Id, user.Id.ToString(), true);
            var result = _recipeRepository.GetRecipeById(recipe.Id);

            Assert.AreEqual(expectedRecipe.SharedWith.First().User.Id, result.SharedWith.First().User.Id);
            Assert.AreEqual(expectedRecipe.SharedWith.First().Recipe.Id, result.SharedWith.First().Recipe.Id);
            Assert.AreEqual(expectedRecipe.IsShared, result.IsShared);
        }
Exemplo n.º 6
0
        public void UnFavoriteRecipe_RemovesUserFromSharedWith()
        {
            var user = new User
            {
                Id = 2
            };

            RecipeManagerContextHelper.AddUser(_recipeManagerContext, user);

            var recipe = new Recipe
            {
                Id         = 1,
                IsPublic   = true,
                IsShared   = true,
                SharedWith = new List <RecipeUser>()
            };

            recipe.SharedWith.Add(new RecipeUser
            {
                User   = user,
                Recipe = recipe
            });

            var expectedRecipe = new Recipe
            {
                Id         = 1,
                IsPublic   = true,
                IsShared   = false,
                SharedWith = new List <RecipeUser>()
            };

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, recipe);

            _recipeRepository.UnFavoriteRecipe(recipe.Id, user.Id.ToString(), true);
            var result = _recipeRepository.GetRecipeById(recipe.Id);

            Assert.AreEqual(expectedRecipe.SharedWith.Count, result.SharedWith.Count);
            Assert.AreEqual(expectedRecipe.IsShared, result.IsShared);
        }
Exemplo n.º 7
0
        public void GetRecipe_ReturnsExpected()
        {
            var expectedRecipe = new Recipe
            {
                Id          = 1,
                ChangedDate = DateTime.Now,
                CreatedDate = DateTime.Now,
                TimeToCook  = 10,
                Description = "description of recipe",
                Ingredients = new List <Ingredient>
                {
                    new Ingredient
                    {
                        Id    = 1,
                        Value = "Cheese"
                    }
                },
                Instructions = new List <Instruction>
                {
                    new Instruction
                    {
                        Id    = 1,
                        Value = "Add Cheese"
                    }
                },
                IsPublic   = true,
                IsShared   = true,
                SharedWith = new List <RecipeUser>(),
                Name       = "recipe name"
            };

            RecipeManagerContextHelper.AddRecipe(_recipeManagerContext, expectedRecipe);
            var result = _recipeRepository.GetRecipeById(expectedRecipe.Id);

            AssertRecipeCorrect(expectedRecipe, result);
        }