public async Task <IActionResult> Edit(ExerciseAdministrationEditViewModel inputModel) { if (!this.ModelState.IsValid) { inputModel.Equipments = this.equipmentService.GetAllEquipments(); return(this.View(inputModel)); } await this.exercisesService.UpdateAsync(inputModel); return(this.RedirectToAction(nameof(this.All))); }
public async Task TestUpdateAsyncShouldReturnCorectly() { ApplicationDbContext db = GetDb(); var exerciseRepositiry = new EfDeletableEntityRepository <Exercise>(db); var service = new ExercisesService(exerciseRepositiry); var exercise = new Exercise { Name = "Squat", EquipmentId = 1, Benefits = "some test", BodyPart = BodyPart.Quadriceps, Description = "the best exercise", Difficulty = Difficulty.Intermediate, ExerciseType = ExerciseType.Strength, ImageUrl = "img", }; await db.Exercises.AddAsync(exercise); await db.SaveChangesAsync(); var inputModel = new ExerciseAdministrationEditViewModel { Id = 1, Name = "Bench", EquipmentId = 2, Benefits = "test", BodyPart = BodyPart.Chest, Description = "top exercise", Difficulty = Difficulty.Beginner, ExerciseType = ExerciseType.Hypertrophy, ImageUrl = "img2", }; await service.UpdateAsync(inputModel); var result = db.Exercises.Find(1); Assert.Equal("Bench", result.Name); Assert.Equal(2, result.EquipmentId); Assert.Equal("test", result.Benefits); Assert.Equal(BodyPart.Chest, result.BodyPart); Assert.Equal("top exercise", result.Description); Assert.Equal(Difficulty.Beginner, result.Difficulty); Assert.Equal(ExerciseType.Hypertrophy, result.ExerciseType); Assert.Equal("img2", result.ImageUrl); }