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); }
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)); } }
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); }
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(); }
public void saveRecipe(SavedRecipes savedRecipe) { this.Add(savedRecipe); this.SaveChanges(); }
public IActionResult PartialRecipe(SavedRecipes r) { //repository.InsertPage(r); repository.SaveRecipe(r); return(View("RecipeView", r)); }