public void Validate_DtoNameIsEmpty_ReturnsCorrectErrorMessage() { // Arrange var request = new RoutineCreateDto(); // Act var validator = new RoutineCreateDtoValidator(Context); var result = validator.Validate(request); // Assert var hasCorrectErrorMessage = result.Errors.Any(x => x.ErrorMessage == "'Name' must not be empty." && x.PropertyName == nameof(RoutineCreateDto.Name)); Assert.IsTrue(hasCorrectErrorMessage); }
public void CreateRoutine_NameHasValue_ContextHasNewRoutineWithCorrectName() { // Arrange var name = $"{NextId}"; var request = new RoutineCreateDto { Name = name }; // Act var repo = new RoutineRepository(Context); var result = repo.CreateRoutine(request); var routineFromContext = Context.Routines.Find(result.Id); // Assert Assert.AreEqual(name, routineFromContext.Name); }
public IActionResult Post(RoutineCreateDto routineCreateDto) { var userIdString = User.FindFirst(ClaimTypes.Name)?.Value; var userId = int.Parse(userIdString); routineCreateDto.UserId = userId; var validationResult = _routineCreateDtoValidator.Validate(routineCreateDto); if (!validationResult.IsValid) { return(BadRequest(ValidationHelpers.ConvertValidationResult(validationResult))); } var routine = _routineRepository.CreateRoutine(routineCreateDto); return(Created($"api/routine/{routine.Id}", routine)); }
public void Validate_UserIdDoesNotExist_ReturnsCorrectErrorMessage() { // Arrange var request = new RoutineCreateDto { UserId = NextId }; // Act var validator = new RoutineCreateDtoValidator(Context); var result = validator.Validate(request); // Assert var hasCorrectErrorMessage = result.Errors.Any(x => x.ErrorMessage == "The 'User' does not exist." && x.PropertyName == nameof(RoutineCreateDto.UserId)); Assert.IsTrue(hasCorrectErrorMessage); }
public void Validate_EVerythingWorks_ReturnsNoErrorMessage() { // Arrange var name = "Leg Day"; var request = new RoutineCreateDto { UserId = NextId, Name = name }; // Act var validator = new RoutineCreateDtoValidator(Context); var result = validator.Validate(request); // Assert var hasCorrectErrorMessage = result.Errors.Any(x => x.ErrorMessage == "The 'User' does not exist." && x.PropertyName == ""); Assert.IsTrue(!hasCorrectErrorMessage); }
public RoutineGetDto CreateRoutine(RoutineCreateDto routineCreateDto) { var routine = new Routine { Name = routineCreateDto.Name, UserId = routineCreateDto.UserId }; _context.Set <Routine>().Add(routine); _context.SaveChanges(); var routineGetDto = new RoutineGetDto { Id = routine.Id, Name = routine.Name, UserId = routine.UserId }; return(routineGetDto); }