Beispiel #1
0
        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);
        }