public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { // TODO validate request UserForRegisterValidator validator = new UserForRegisterValidator(); ValidationResult results = validator.Validate(userForRegisterDto); if (results.IsValid == false) { string errorMessage = results.Errors[0].ErrorMessage; return(BadRequest(errorMessage)); } userForRegisterDto.Username = userForRegisterDto.Username.ToLower(); if (await _repo.UserExists(userForRegisterDto.Username)) { return(BadRequest("Username already exists!")); } var userToCreate = new User { Id = userForRegisterDto.Id, Username = userForRegisterDto.Username, Email = userForRegisterDto.Email }; var createdUser = await _repo.Register(userToCreate, userForRegisterDto.Password); return(StatusCode(201)); }
public void UserForRegisterValidator_WhenUsernameRegexDoesNotMatches_ShouldHaveError() { // Arrange var model = new UserForRegisterDto() { Username = "******" }; var message = Messages.UsernameIsNotValid; var sut = new UserForRegisterValidator(); // Act var result = sut.TestValidate(model); // Assert result.ShouldHaveValidationErrorFor(m => m.Username).WithErrorMessage(message); }
public void UserForRegisterValidator_WhenEmailRegexDoesNotMatches_ShouldHaveError() { // Arrange var model = new UserForRegisterDto() { Email = "[email protected]" }; var message = Messages.EmailIsNotValid; var sut = new UserForRegisterValidator(); // Act var result = sut.TestValidate(model); // Assert result.ShouldHaveValidationErrorFor(m => m.Email).WithErrorMessage(message); }
public void UserForRegisterValidator_WhenBirthDateExceedsMinValue_ShouldHaveError() { // Arrange var model = new UserForRegisterDto() { BirthDate = DateTime.Now.AddYears(-110) }; var message = Messages.BirthDateIsNotValid_GreaterThan(DateTime.Now.AddYears(-100)); var sut = new UserForRegisterValidator(); // Act var result = sut.TestValidate(model); // Assert result.ShouldHaveValidationErrorFor(m => m.BirthDate).WithErrorMessage(message); }
public void UserForRegisterValidator_WhenPasswordRegexDoesNotMatches_ShouldHaveError() { // Arrange var model = new UserForRegisterDto() { Password = "******" }; var message = Messages.PasswordIsNotValid; var sut = new UserForRegisterValidator(); // Act var result = sut.TestValidate(model); // Assert result.ShouldHaveValidationErrorFor(m => m.Password).WithErrorMessage(message); }
public void UserForRegisterValidator_TrueStory() { // Arrange var model = new UserForRegisterDto() { BirthDate = DateTime.Now.AddYears(-30), DepartmentId = 1, Email = "*****@*****.**", FirstName = "Test", LastName = "User", Password = "******", Username = "******" }; var sut = new UserForRegisterValidator(); // Act var result = sut.TestValidate(model); // Assert result.ShouldNotHaveAnyValidationErrors(); }