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()); }
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); }
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)); }
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())); }