Beispiel #1
0
        public async Task Update__Admin_Or_Moderator_Can_Update_Exercise()
        {
            await LogInAs("*****@*****.**");

            Exercise createdExercise = await CreateExercise();

            UpdateExerciseRequest exerciseRequest = Factory.Exercise.UpdateExerciseRequest();
            string updateEndpoint = ApiRoutes.Exercise.Update.Replace("{exerciseId}", createdExercise.Id.ToString());

            var response = await Client.PutAsJsonAsync(updateEndpoint, exerciseRequest);

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var updatedExample = await Context.Exercise
                                 .AsNoTracking().FirstOrDefaultAsync(x => x.Id == createdExercise.Id);

            updatedExample.Id.Should().Be(createdExercise.Id);
            updatedExample.Name.Should().Be(exerciseRequest.Name);
            updatedExample.Description.Should().Be(exerciseRequest.Description);
            updatedExample.Powtorzenia.Should().Be(exerciseRequest.Powtorzenia);
            updatedExample.Serie.Should().Be(exerciseRequest.Serie);
            updatedExample.Obciazenie.Should().Be(exerciseRequest.Obciazenie);
            updatedExample.Czas.Should().Be(exerciseRequest.Czas);
            updatedExample.Dystans.Should().Be(exerciseRequest.Dystans);

            int count = await Context.Exercise.AsNoTracking().CountAsync();

            count.Should().Be(1);

            await LogInAs("*****@*****.**");

            response = await Client.PutAsJsonAsync(updateEndpoint, exerciseRequest);

            response.StatusCode.Should().Be(HttpStatusCode.OK);
        }
        public async Task <IActionResult> UpdateExercise(UpdateExerciseRequest updateExerciseRequest)
        {
            await _ownedAuthService.OwnsAsync <WorkoutExercise>(updateExerciseRequest.Id, User.GetUserId());

            await _exerciseService.UpdateExerciseAsync(updateExerciseRequest);

            return(NoContent());
        }
Beispiel #3
0
        public async Task UpdateExerciseAsync(UpdateExerciseRequest exerciceUpdateDto)
        {
            var exercise = await _exerciseRepo.GetWorkoutExerciseByIdAsync(exerciceUpdateDto.Id);

            _mapper.Map(exerciceUpdateDto, exercise);
            _logger.LogInformation($"Updated: {JsonSerializer.Serialize(exercise)}");
            await _unitOfWork.SaveAllAsync();
        }
Beispiel #4
0
        public async Task Update__Normal_User_Can_Not_Update_Exercise()
        {
            await LogInAs("*****@*****.**");

            Exercise createdExercise = await CreateExercise();

            UpdateExerciseRequest exerciseRequest = Factory.Exercise.UpdateExerciseRequest();
            string updateEndpoint = ApiRoutes.Exercise.Update.Replace("{exerciseId}", createdExercise.Id.ToString());

            var response = await Client.PutAsJsonAsync(updateEndpoint, exerciseRequest);

            response.StatusCode.Should().Be(HttpStatusCode.Forbidden);
        }
        public async Task <IActionResult> Update([FromRoute] int exerciseId, [FromBody] UpdateExerciseRequest request)
        {
            var exercise = await _exerciseService.GetExerciseByIdAsync(exerciseId);

            if (exercise == null)
            {
                return(NotFound());
            }

            var updatedExercise = _mapper.Map(request, exercise);
            var updated         = await _exerciseService.UpdateExerciseAsync(updatedExercise);

            if (!updated)
            {
                return(BadRequest(new ErrorResponse("Wystąpił błąd podczas edytowania")));
            }

            return(Ok());
        }