public async Task Get_Notifications()
        {
            //Arange
            var recipe = new UpsertRecipeModel
            {
                Name = "Salata",
                Access = true,
                Description = "Simpla si gustoasa, perfecta pentru zilele de vara",
                Filter = "Vegana",
                Ingredients = new List<string> { "ceapa", "ulei", "rosii", "varza", "castraveti" },
                Type = "meal",
                Image = new byte[] { 1, 0, 0, 1 }
            };

            var response = await HttpClient.PostAsJsonAsync($"api/v1/recipe", recipe);
            var body = await response.Content.ReadAsStringAsync();
            var createdRecipeId = Extract_Guid(body);
            var savedRecipe = new SavedRecipes
            {
                IdUser = AuthenticatedUserId,
                IdRecipe = createdRecipeId
            };

            await ExecuteDatabaseAction(async (tastyBoutiqueContext) =>
            {
                await tastyBoutiqueContext.AddAsync(savedRecipe);
                tastyBoutiqueContext.SaveChanges();
            });

            recipe.Ingredients.Add("branza");
            HttpContent httpContent = new StringContent(JsonSerializer.Serialize(recipe), Encoding.UTF8, "application/json-patch+json");
            response = await HttpClient.PatchAsync($"api/v1/recipe/{createdRecipeId}", httpContent);

            //Act
            response = await HttpClient.GetAsync("api/v1/notifications");
            response.IsSuccessStatusCode.Should().BeTrue();
            var notifications = await response.Content.ReadAsAsync<IList<TotalRecipeModel>>();

            //Assert
            notifications.Should().NotBeNull();
            notifications.Should().NotBeEmpty();
            notifications.Count.Should().Be(1);
            notifications[0].Name.Should().Be(recipe.Name);
        }
Ejemplo n.º 2
0
        public IActionResult AddReview(ReviewViewModel reviewViewModel)
        {
            if (ModelState.IsValid)
            {
                SavedRecipes recipe = repository.Recipes.First(r => r.RecipeID == reviewViewModel.RecipeID);
                if (recipe.Reviews == null)
                {
                    recipe.Reviews = new List <Review>();
                }
                reviewViewModel.Review.RecipeID = reviewViewModel.RecipeID;
                repository.SaveReview(reviewViewModel.Review);

                recipe.Reviews = repository.Reviews.Where(r => r.RecipeID == reviewViewModel.RecipeID).ToList();

                return(View("DisplayPage", recipe));
            }
            else
            {
                //there is something wrong in data
                return(View(reviewViewModel));
            }
        }
Ejemplo n.º 3
0
        public async Task Get_from_Collection()
        {
            //Arrange
            var recipe1 = await AddRecipe();

            var recipe2 = await AddRecipe();

            SavedRecipes savedRecipe1 = new SavedRecipes
            {
                IdRecipe = recipe1.Id,
                IdUser   = AuthenticatedUserId
            };
            SavedRecipes savedRecipe2 = new SavedRecipes
            {
                IdRecipe = recipe2.Id,
                IdUser   = AuthenticatedUserId
            };

            await ExecuteDatabaseAction(async (tastyBoutiqueContext) =>
            {
                await tastyBoutiqueContext.AddAsync(savedRecipe1);
                await tastyBoutiqueContext.AddAsync(savedRecipe2);
                tastyBoutiqueContext.SaveChanges();
            });

            //Act
            var response = await HttpClient.GetAsync($"api/v1/collections");

            //Assert
            response.IsSuccessStatusCode.Should().BeTrue();

            var savedRecipes = await response.Content.ReadAsAsync <IList <TotalRecipeModel> >();

            savedRecipes.Should().NotBeNull();
            savedRecipes.Should().NotBeEmpty();
            savedRecipes.Should().HaveCount(2);
            //savedRecipes.Select(r => r.Id).Should().Contain(savedRecipe1.IdRecipe);
            //savedRecipes.Select(r => r.Id).Should().Contain(savedRecipe2.IdRecipe);
        }
Ejemplo n.º 4
0
        public async Task Add_to_Collection()
        {
            //Arrange
            var recipe = await AddRecipe();

            var model = new SavedRecipeModel {
                IdRecipe = recipe.Id
            };
            //Act
            var response = await HttpClient.PostAsJsonAsync($"api/v1/collections", model);

            //Assert
            response.IsSuccessStatusCode.Should().BeTrue();

            SavedRecipes savedRecipe = null;

            await ExecuteDatabaseAction(async (tastyBoutiqueContext) =>
            {
                savedRecipe = await tastyBoutiqueContext.SavedRecipes
                              .FirstOrDefaultAsync(sr => sr.IdUser == AuthenticatedUserId && sr.IdRecipe == recipe.Id);
            });

            savedRecipe.Should().NotBeNull();
        }
Ejemplo n.º 5
0
 public void saveRecipe(SavedRecipes savedRecipe)
 {
     this.Add(savedRecipe);
     this.SaveChanges();
 }
Ejemplo n.º 6
0
 public IActionResult PartialRecipe(SavedRecipes r)
 {
     //repository.InsertPage(r);
     repository.SaveRecipe(r);
     return(View("RecipeView", r));
 }