public async Task <IdentityResult> Register(User user, string password) { try { var identityResult = await _userRepository.Register(user, password); await SetForumUserRole(user); return(identityResult); } catch (DbEntityValidationException ex) { throw new ServerValidationException(ErrorMessageBuilder.BuildErrorMessage("Registration failed due to these issues: ", ex.EntityValidationErrors), ServerValidationException.ServerValidationExceptionType.Error); } catch (Exception) { throw; } }
public async Task <IHttpActionResult> Post(UserViewmodel user) { try { var identityResult = await _registerFacade.Register(user, user.Password); if (identityResult.Succeeded) { return(Ok("Registration successful!")); } else { return(BadRequest(ErrorMessageBuilder.BuildErrorMessage("Registration failed: ", identityResult.Errors))); } } catch (ServerValidationException serverExc) { return(BadRequest(serverExc.Message)); } catch (Exception ex) { return(BadRequest($"Something unexpected happened: {ex.Message}. Try to reload this page.")); } }
public async Task LoginControllerPostReturns400WithCorrectErrorMessageServerValidationException() { string[] errors = { "Username already exist." }; var loginErrorMessage = "Login failed due to these issues: "; var spaces = "\r\n\r\n"; IHttpActionResult httpActionResult; _loginFacadeMock.Setup(x => x.Validate(It.IsAny <string>(), It.IsAny <string>())).Throws(new ServerValidationException(ErrorMessageBuilder.BuildErrorMessage(loginErrorMessage, errors), ServerValidationException.ServerValidationExceptionType.Error)); httpActionResult = await _sut.Post(_user); var badRequest = httpActionResult as BadRequestErrorMessageResult; badRequest.Message.Should().BeEquivalentTo(loginErrorMessage + spaces + errors[0]); }
public async Task LoginControllerPostReturns400() { string[] errors = { "Username already exist." }; string loginErrorMessage = "Login failed due to these issues: "; IHttpActionResult httpActionResult; _loginFacadeMock.Setup(x => x.Validate(It.IsAny <string>(), It.IsAny <string>())).Throws(new ServerValidationException(ErrorMessageBuilder.BuildErrorMessage(loginErrorMessage, errors), ServerValidationException.ServerValidationExceptionType.Error)); httpActionResult = await _sut.Post(_user); httpActionResult.Should().BeOfType <BadRequestErrorMessageResult>(); }