Ejemplo n.º 1
0
        public async Task CopyWorkout_Makes_A_New_Copied_Workout()
        {
            //arrange
            Workout savedWorkout  = null;
            var     workoutToCopy = new Workout {
                Id = 2, Name = "potato", IsCompleted = false
            };

            _mockWorkoutRepo.Setup(x => x.GetWorkoutByIdAsync(workoutToCopy.Id)).ReturnsAsync(workoutToCopy);

            _mockWorkoutRepo.Setup(x => x.AddWorkoutAsync(It.IsAny <Workout>()))
            .Callback <Workout>(x => savedWorkout = x);

            //act
            await _workoutService.CopyWorkoutAsync(workoutToCopy.Id, 2);

            //assert
            _mockUnitOfWork.Verify(x => x.SaveAllAsync());

            savedWorkout.Name.Should().BeEquivalentTo(workoutToCopy.Name);
            savedWorkout.IsCompleted.Should().BeFalse();
            savedWorkout.Id.Should().NotBe(workoutToCopy.Id);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CopyWorkout(int workoutId)
        {
            var newWorkoutId = await _workoutService.CopyWorkoutAsync(workoutId, User.GetUserId());

            return(CreatedAtRoute(nameof(GetWorkout), new { id = newWorkoutId }, new { id = newWorkoutId }));
        }