Exemplo n.º 1
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.º 2
0
        public void GetRecipesForUser_ReturnsExpected()
        {
            var user = new User
            {
                Id = 2
            };

            RecipeManagerContextHelper.AddUser(_recipeManagerContext, user);
            var expectedRecipes = new List <Recipe>
            {
                new Recipe
                {
                    Id       = 1,
                    UserId   = "2",
                    IsPublic = true,
                },
                new Recipe
                {
                    Id         = 45,
                    IsShared   = true,
                    SharedWith = new List <RecipeUser>()
                }
            };

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

            AddRecipesToContext(expectedRecipes);
            var result = _recipeRepository.GetRecipesForUser("2");

            AssertEachRecipeExists(expectedRecipes, result);
        }
        public void GetUser_ReturnsExpected()
        {
            var expectedUser = new User
            {
                Id     = 1,
                AuthId = "authO|43124214321"
            };

            RecipeManagerContextHelper.AddUser(_recipeManagerContext, expectedUser);
            var result = _userRepository.GetByAuthId(expectedUser.AuthId);

            Assert.AreEqual(expectedUser, result);
        }
Exemplo n.º 4
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.º 5
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);
        }