Пример #1
0
        public ActionResult SignUp(AccountRegistration information)
        {
            var username = new Username(information.Username);

            bool usernameIsAvailable = _accountRegistrationService.IsUsernameAvailable(username);
            if (!usernameIsAvailable) {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.UsernameNotAvailable);
                TempData.AccountRegistrationInformation.Store(information);
                return RedirectToAction<AccountController>(c => c.SignUp());
            }

            var password = new Password(information.Password);
            var passwordConfirmation = new Password(information.PasswordConfirmation);
            if (!password.Equals(passwordConfirmation)) {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.PasswordsDoNotMatch);
                return RedirectToAction<AccountController>(c => c.SignUp());
            }

            var emailAddress = new EmailAddress(information.Email);
            var emailAddressConfirmation = new EmailAddress(information.EmailConfirmation);
            if (!emailAddress.Equals(emailAddressConfirmation)) {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.EmailsDoNotMatch);
                return RedirectToAction<AccountController>(c => c.SignUp());
            }

            var foo = new GivenNames();

            var fullName = new FullName(new Name(information.LastName), new GivenNames(information.FirstName));
            var accountRegistration = new AccountManagement.AccountRegistration(username, password, fullName, new EmailAddress(information.Email));
            _accountRegistrationService.CreateAccount(accountRegistration);

            TempData.NewAccountUsername.Store(accountRegistration.Username);
            return RedirectToAction<AccountController>(c => c.SignUpComplete());
        }
Пример #2
0
        public void RedirectsBackToSignUpPageWithError_WhenPasswordsDoNotMatch_OnSignUp()
        {
            this._accountRegistrationService.GivenUsernameIsAvailable(_bwilsonUsername);

            AccountRegistration accountRegistration = TestAccountRegistration;

            accountRegistration.PasswordConfirmation = "NOT" + accountRegistration.Password;
            ActionResult result = this._controller.SignUp(accountRegistration);

            AssertRedirectedTo <AccountController>(result, c => c.SignUp());
            this._tempData.RegistrationFailureReason.AssertEqual(RegistrationFailureReason.PasswordsDoNotMatch);
        }
Пример #3
0
        public void StoresEnteredDataInTempData_OnRedirectOnFailure()
        {
            this._accountRegistrationService.GivenUsernameIsUnavailable(_bwilsonUsername);

            var orgRegistration = new AccountRegistration {
                Email                = S,
                EmailConfirmation    = S,
                FirstName            = S,
                LastName             = S,
                Password             = S,
                PasswordConfirmation = S,
                Username             = S
            };

            this._controller.SignUp(orgRegistration);
            Assert.That(this._tempData.AccountRegistrationInformation.Get().Email, Is.EqualTo(orgRegistration.Email));
        }
Пример #4
0
        public ActionResult SignUp(AccountRegistration information)
        {
            var username = new Username(information.Username);

            bool usernameIsAvailable = _accountRegistrationService.IsUsernameAvailable(username);

            if (!usernameIsAvailable)
            {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.UsernameNotAvailable);
                TempData.AccountRegistrationInformation.Store(information);
                return(RedirectToAction <AccountController>(c => c.SignUp()));
            }

            var password             = new Password(information.Password);
            var passwordConfirmation = new Password(information.PasswordConfirmation);

            if (!password.Equals(passwordConfirmation))
            {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.PasswordsDoNotMatch);
                return(RedirectToAction <AccountController>(c => c.SignUp()));
            }

            var emailAddress             = new EmailAddress(information.Email);
            var emailAddressConfirmation = new EmailAddress(information.EmailConfirmation);

            if (!emailAddress.Equals(emailAddressConfirmation))
            {
                TempData.RegistrationFailureReason.Store(RegistrationFailureReason.EmailsDoNotMatch);
                return(RedirectToAction <AccountController>(c => c.SignUp()));
            }

            var foo = new GivenNames();

            var fullName            = new FullName(new Name(information.LastName), new GivenNames(information.FirstName));
            var accountRegistration = new AccountManagement.AccountRegistration(username, password, fullName, new EmailAddress(information.Email));

            _accountRegistrationService.CreateAccount(accountRegistration);

            TempData.NewAccountUsername.Store(accountRegistration.Username);
            return(RedirectToAction <AccountController>(c => c.SignUpComplete()));
        }