Example #1
0
        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;
            }
        }
Example #2
0
        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."));
            }
        }
Example #3
0
        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]);
        }
Example #4
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>();
        }