public void IfThereIsNoCurrentWorkoutAnExceptionIsThrown() { var ws = new Mock <IWorkoutService>(); var repo = new Mock <IExerciseRepository>(); var handler = new AddStrengthCommandHandler(ws.Object, repo.Object); var command = new AddStrengthCommand { Weight = 20, ExerciseId = 1, Repetitions = 99, Notes = "foo" }; ws.Setup(x => x.CurrentWorkout()).Returns <Workout>(null); repo.Setup(x => x.Load(1)).Returns(new Exercise(new ExerciseDocument { Description = "exer" })); Assert.Throws <ApplicationException>(() => handler.Handle(command)); }
public void TheStrengthActivityIsAddedToTheCurrentWorkout() { var workOut = new Workout(new WorkoutDocument()); var repo = new Mock <IExerciseRepository>(); var ws = new Mock <IWorkoutService>(); var handler = new AddStrengthCommandHandler(ws.Object, repo.Object); var command = new AddStrengthCommand { Weight = 20, ExerciseId = 1, Repetitions = 99, Notes = "foo" }; ws.Setup(x => x.CurrentWorkout()).Returns(workOut); repo.Setup(x => x.Load(1)).Returns(new Exercise(new ExerciseDocument { Description = "exer" })); handler.Handle(command); workOut.StrengthSegments.Count().ShouldEqual(1); }
public ActionResult Strength(AddStrengthInputModel input) { if (!ModelState.IsValid) { return(View(input)); } var command = new AddStrengthCommand { ExerciseId = input.ExerciseId, Notes = input.Notes, Repetitions = input.Repetitions, Weight = input.Weight }; _commandInvoker.Execute(command); return(RedirectToAction("Index", "Workout")); }