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); }
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); }
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); }
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); }