public HttpStatusCode Execute(AddWorkoutCommand command) { var workout = this.factory.Create(command); this.repository.AddWorkout(workout); return(HttpStatusCode.OK); }
public void ValidateSuccessfully() { var validator = new AddWorkoutCommandValidator(); var command = new AddWorkoutCommand { Name = "Workout 1" }; var result = validator.Validate(command); result.IsValid.ShouldBe(true); }
public void NameNotBeNull() { var validator = new AddWorkoutCommandValidator(); var command = new AddWorkoutCommand { Name = null }; var result = validator.Validate(command); result.IsValid.ShouldBe(false); }
public Workout Create(AddWorkoutCommand command) { var workoutExercises = JsonConvert.DeserializeObject <IEnumerable <WorkoutExercise> >(command.WorkoutExercises.ToString()); var workout = new Workout { WorkoutName = command.WorkoutName, WorkoutExercises = workoutExercises }; return(workout); }
public async Task SaveWorkout() { var mediator = Testing.Resolve <IMediator>(); var db = Testing.Resolve <SebastianDbContext>(); var command = new AddWorkoutCommand { Name = "Jacob's Awesome Workout", UserId = _user.Id }; var addWorkoutResponse = await mediator.Send(command); var workout = db.Workouts.Find(addWorkoutResponse.Id); workout.Name.ShouldBe(command.Name); }
public async Task NotSaveWorkoutWhenAnotherWorkoutInProgress() { var mediator = Testing.Resolve <IMediator>(); var command1 = new AddWorkoutCommand { Name = "Workout 1", UserId = _user.Id }; var command2 = new AddWorkoutCommand { Name = "Workout 2", UserId = _user.Id }; await mediator.Send(command1); Should.Throw <InvalidSebastianOperationException>(async() => await mediator.Send(command2)); }