public async Task UpdateRecipe() { await InitializeAsync(); using (var service = GetService()) { var recipe = await DbContext.Recipes.FirstAsync(); var changedRecipe = new RecipeUpdateViewModel() { Id = recipe.Id, Name = "New Name", Calories = 234, NumberOfServings = 2 }; await service.UpdateAsync(recipe.Id, changedRecipe); var newRecipe = await DbContext.Recipes.FirstAsync(x => x.Id.Equals(recipe.Id)); Assert.Equal(changedRecipe.Name, newRecipe.Name); Assert.Equal(changedRecipe.Calories, newRecipe.Calories); Assert.Equal(changedRecipe.NumberOfServings, newRecipe.NumberOfServings); } }
public RecipeTestData() { #region Init Recipe // ------------------- Generel ---------------------- Recipe = new Recipe() { Name = "My Recipe", Id = 1, Calories = 1, CookedCounter = 2, Creator = "Tester", LastTimeCooked = new DateTime(), NumberOfServings = 3 }; // ------------------- Images ---------------------- var image = new RecipeImage() { Recipe = this.Recipe, Id = 1, RecipeId = Recipe.Id, Url = "http://imageUrl.de", Filename = "MyImage.jpg" }; Recipe.Images.Add(image); // ------------------- Steps ---------------------- var steps = new List <RecipeStep>() { new RecipeStep() { Recipe = Recipe, Id = 1, RecipeId = Recipe.Id, Order = 0, Description = "Step 1" }, new RecipeStep() { Recipe = Recipe, Id = 2, RecipeId = Recipe.Id, Order = 1, Description = "Step 2" } }; Recipe.Steps.AddRange(steps); // ------------------- Tags ---------------------- var tags = new List <RecipeTag>() { new RecipeTag() { Id = 1, Name = "Tag 1" }, new RecipeTag() { Id = 2, Name = "Tag 2" }, }; var recipeTags = new List <RecipeRecipeTag>() { new RecipeRecipeTag() { Recipe = Recipe, RecipeId = Recipe.Id, RecipeTag = tags.First(), RecipeTagId = tags.First().Id }, new RecipeRecipeTag() { Recipe = Recipe, RecipeId = Recipe.Id, RecipeTag = tags.Last(), RecipeTagId = tags.Last().Id }, }; tags.First().Recipes.Add(recipeTags.First()); tags.Last().Recipes.Add(recipeTags.Last()); Recipe.Tags.AddRange(recipeTags); // ------------------- Source ---------------------- var source = new RecipeUrlSource() { Id = 1, Name = "WebSource", Url = "http://www.websource.de" }; var recipeSource = new RecipeSourceRecipe() { Page = 0, Recipe = Recipe, RecipeId = Recipe.Id, Source = source, SourceId = source.Id }; source.RecipeSourceRecipes.Add(recipeSource); Recipe.Source = recipeSource; Recipe.SourceId = source.Id; // ------------------- Ingrediant ---------------------- var ingrediant = new Ingrediant() { Id = 1, Name = "Ingrediant 1" }; var recipeIngrediant = new RecipeIngrediant() { Recipe = Recipe, RecipeId = Recipe.Id, Ingrediant = ingrediant, IngrediantId = ingrediant.Id, Amount = 1, CookingUnit = CookingUnit.Gramm }; ingrediant.Recipes.Add(recipeIngrediant); Recipe.Ingrediants.Add(recipeIngrediant); #endregion UpdateModel = new RecipeUpdateViewModel() { Id = 1, Name = "Old Recipe", Url = "http://www.webservice.de/recipes/1", Calories = Recipe.Calories.GetValueOrDefault(), NumberOfServings = Recipe.NumberOfServings }; CreationModel = new RecipeCreationViewModel() { Name = UpdateModel.Name, Calories = UpdateModel.Calories, NumberOfServings = UpdateModel.NumberOfServings, Creator = Recipe.Creator }; }
/// <summary> /// Changes an existing Recipe /// </summary> /// <param name="recipeId">Id of a recipe</param> /// <param name="updatedModel">Model with new Data</param> /// <returns></returns> public async Task UpdateRecipeAsync(int recipeId, RecipeUpdateViewModel updatedModel) { await this.Client.PutAsJsonAsync(updatedModel, $"Recipes/{recipeId}"); }
public async Task <IActionResult> UpdateRecipeAsync(int id, [FromBody] RecipeUpdateViewModel model) { await _service.UpdateAsync(id, model); return(NoContent()); }