public void Validate_UnableToGetExerciseYouDoNotOwn_ReturnsCorrectErrorMessage()
        {
            // Arrange
            var user1 = new User {
                Id = NextId
            };
            var user2 = new User {
                Id = NextId
            };

            Context.Users.Add(user1);
            Context.Users.Add(user2);

            var exercise = new Exercise {
                Id = NextId, UserId = user1.Id
            };

            Context.Exercises.Add(exercise);
            Context.SaveChanges();

            var request = new ExerciseGetDto {
                UserId = user2.Id, Id = exercise.Id
            };

            // Act
            var validator = new ExerciseGetDtoValidator(Context);
            var result    = validator.Validate(request);

            // Assert
            var hasCorrectErrorMessage = result.Errors.Any(x =>
                                                           x.ErrorMessage == "Unable to get an 'Exercise' you do not own." &&
                                                           x.PropertyName == "");

            Assert.IsTrue(hasCorrectErrorMessage);
        }
Exemplo n.º 2
0
        public IActionResult Get(int exerciseId)
        {
            var userIdString = User.FindFirst(ClaimTypes.Name)?.Value;
            var userId = int.Parse(userIdString);

            var exerciseGetDto = new ExerciseGetDto { Id = exerciseId, UserId = userId };
            var validationResult = _exerciseGetDtoValidator.Validate(exerciseGetDto);

            if (!validationResult.IsValid)
                return BadRequest(ValidationHelpers.ConvertValidationResult(validationResult));

            var exercise = _exerciseRepository.GetExercise(exerciseId);
            return Ok(exercise);
        }
        public void Validate_UserIdIsEmpty_ReturnsCorrectErrorMessage()
        {
            // Arrange
            var request = new ExerciseGetDto();

            // Act
            var validator = new ExerciseGetDtoValidator(Context);
            var result    = validator.Validate(request);

            // Assert
            var hasCorrectErrorMessage = result.Errors.Any(x =>
                                                           x.ErrorMessage == "'User Id' must not be empty." &&
                                                           x.PropertyName == nameof(ExerciseGetDto.UserId));

            Assert.IsTrue(hasCorrectErrorMessage);
        }
        public void Validate_ExerciseIdDoesNotExist_ReturnsCorrectErrorMessage()
        {
            // Arrange
            var request = new ExerciseGetDto {
                Id = NextId
            };

            // Act
            var validator = new ExerciseGetDtoValidator(Context);
            var result    = validator.Validate(request);

            // Assert
            var hasCorrectErrrorMessage = result.Errors.Any(x =>
                                                            x.ErrorMessage == "'Exercise' does not exist." &&
                                                            x.PropertyName == nameof(ExerciseGetDto.Id));

            Assert.IsTrue(hasCorrectErrrorMessage);
        }
        public void Validate_EverythingWorks_ReturnsNoErrorMessage()
        {
            // Arrange
            var request = new ExerciseGetDto {
                Id = NextId, Name = $"{NextId}", UserId = NextId
            };

            // Act
            var validator = new ExerciseGetDtoValidator(Context);
            var result    = validator.Validate(request);

            // Assert
            var hasCorrectErrorMessage = result.Errors.Any(x =>
                                                           x.ErrorMessage == "'User Id' must not be empty." &&
                                                           x.PropertyName == "");

            Assert.IsTrue(!hasCorrectErrorMessage);
        }
Exemplo n.º 6
0
        public ExerciseGetDto EditExercise(int userId, ExerciseEditDto exerciseEditDto)
        {
            var exercise = _context.Set <Exercise>().Find(userId);

            exercise.Name        = exerciseEditDto.Name;
            exercise.MuscleGroup = exerciseEditDto.MuscleGroup;

            _context.SaveChanges();

            var exerciseGetDto = new ExerciseGetDto
            {
                Id          = exercise.Id,
                Name        = exercise.Name,
                MuscleGroup = exercise.MuscleGroup,
                UserId      = exercise.Id
            };

            exerciseGetDto.Id = exercise.Id;

            return(exerciseGetDto);
        }
Exemplo n.º 7
0
        public ExerciseGetDto CreateExercise(ExerciseCreateDto exerciseCreateDto)
        {
            var exercise = new Exercise
            {
                Name        = exerciseCreateDto.Name,
                MuscleGroup = exerciseCreateDto.MuscleGroup,
                UserId      = exerciseCreateDto.UserId
            };

            _context.Set <Exercise>().Add(exercise);
            _context.SaveChanges();

            var exerciseGetDto = new ExerciseGetDto
            {
                Id          = exercise.Id,
                Name        = exercise.Name,
                MuscleGroup = exercise.MuscleGroup,
                UserId      = exercise.Id
            };

            exerciseGetDto.Id = exercise.Id;

            return(exerciseGetDto);
        }