Exemple #1
0
        public void Validate_UnableToEditExerciseYouDoNotOwn_ReturnsCorrectErrorMessage()
        {
            // Assert
            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 ExerciseEditDto {
                Id = exercise.Id, UserId = user2.Id,
            };

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

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

            Assert.IsTrue(hasCorrectErrorMessage);
        }
Exemple #2
0
        public void Validate_DtoMuscleGroupIsEmpty_ReturnsCorrectErrorMessage()
        {
            // Arrange
            var request = new ExerciseEditDto();

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

            // Assert
            var hasCorrectErrorMessage = result.Errors.Any(x =>
                                                           x.ErrorMessage == "'Muscle Group' must not be empty." &&
                                                           x.PropertyName == nameof(ExerciseEditDto.MuscleGroup));

            Assert.IsTrue(hasCorrectErrorMessage);
        }
Exemple #3
0
        public void Validate_EverythingIsWorking_ReturnsNoErrorMessage()
        {
            // Arrange
            var request = new ExerciseEditDto {
                UserId = NextId, Id = NextId, Name = $"{NextId}"
            };

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

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

            Assert.IsTrue(!hasCorrectErrorMessage);
        }
Exemple #4
0
        public void Validate_DtoNameAlreadyExists_ReturnsCorrectErrorMessage()
        {
            // Arrange
            var name = "Squat";
            var user = new User {
                Id = NextId
            };
            var muscleGroup = "Quadriceps";

            Context.Users.Add(user);

            var exercise1 = new Exercise {
                Id = NextId, Name = name, UserId = user.Id, MuscleGroup = muscleGroup
            };
            var exercise2 = new Exercise {
                Id = NextId, Name = $"{NextId}", UserId = user.Id, MuscleGroup = muscleGroup
            };

            Context.Exercises.Add(exercise1);
            Context.Exercises.Add(exercise2);
            Context.SaveChanges();

            var request = new ExerciseEditDto {
                UserId = user.Id, Name = name, Id = exercise2.Id, MuscleGroup = muscleGroup
            };

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

            // Assert
            var hasCorrectErrorMessage = result.Errors.Any(x =>
                                                           x.ErrorMessage == $"You already have an exercise of '{name}'" &&
                                                           x.PropertyName == nameof(ExerciseEditDto.Name));

            Assert.IsTrue(hasCorrectErrorMessage);
        }