public void ShouldCallAddRepoMethods() { //Arrange var fakeCreateCompletedWorkoutViewModel = new CreateCompletedWorkoutViewModel { Comments = "workout comments", WorkoutId = 1, DetailedExercises = new List <DetailedExerciseViewModel>() { new DetailedExerciseViewModel() { ExerciseId = 1, ExerciseName = "testExercise", Mins = 12, Comments = "exercise comments" } } }; var mockCompletedWorkoutsRepo = new Mock <IRDBERepository <CompletedWorkout> >(); var mockCompletedExercisesRepo = new Mock <IRDBERepository <CompletedExercise> >(); var mockWorkoutsRepo = new Mock <IRDBERepository <Workout> >(); var mockExercisesRepo = new Mock <IRDBERepository <Exercise> >(); //Act var mockWorkoutHistoryService = new WorkoutHistoryService(mockWorkoutsRepo.Object, mockCompletedWorkoutsRepo.Object, mockCompletedExercisesRepo.Object, mockExercisesRepo.Object); mockWorkoutHistoryService.AddCompletedWorkout("", fakeCreateCompletedWorkoutViewModel); //Assert mockCompletedWorkoutsRepo.Verify(x => x.Add(It.IsAny <CompletedWorkout>())); }
public async Task <IActionResult> Add(CreateCompletedWorkoutViewModel vm) { var user = await userManager.GetUserAsync(HttpContext.User); workoutHistoryService.AddCompletedWorkout(user.Id, vm); return(RedirectToAction(nameof(Index))); }
public void AddCompletedWorkout(string userId, CreateCompletedWorkoutViewModel vm) { var completedWorkout = new CompletedWorkout() { ApplicationUserId = userId, Comments = vm.Comments, DateCreated = DateTime.Now, WorkoutId = vm.WorkoutId }; completedWorkoutsRepo.Add(completedWorkout); completedExcercisesRepo.AddRange(vm.DetailedExercises.Select(de => new CompletedExercise() { ApplicationUserId = userId, DateCreated = DateTime.Now, Comments = de.Comments, ExerciseId = de.ExerciseId, CompletedWorkout = completedWorkout, Mins = de.Mins, Weight = de.Weight, Sets = de.Sets, Reps = de.Reps }).ToList()); completedWorkoutsRepo.SaveChanges(); completedExcercisesRepo.SaveChanges(); }
public async Task <IActionResult> Add(int id) { CreateCompletedWorkoutViewModel vm = new CreateCompletedWorkoutViewModel(); var user = await userManager.GetUserAsync(HttpContext.User); if (!workoutHistoryService.CheckUserId(user.Id, id)) { return(NotFound()); } var workoutName = workoutHistoryService.GetWorkoutName(id); vm.WorkoutId = id; vm.WorkoutName = workoutName; vm.DetailedExercises = workoutHistoryService.GetWorkoutExercises(user.Id, id).ToList(); return(View(vm)); }