public void Register_ErrorWhileRegisteringCausesFormToBeRedisplayed() { string userName = "******"; string password = "******"; WebSecurity.Setup(s => s.CreateUserAndAccount(userName, password, null, false)).Returns(userName); WebSecurity.Setup(s => s.Login(userName, password, false)).Throws( new MembershipCreateUserException(MembershipCreateStatus.InvalidEmail)); var model = new RegisterModel { UserName = userName, Password = password, ConfirmPassword = password }; var result = Controller.Register(model) as ViewResult; Assert.NotNull(result); Assert.False(Controller.ModelState.IsValid); }
public void Register_UserCanRegister() { string userName = "******"; string password = "******"; WebSecurity.Setup(s => s.CreateUserAndAccount(userName, password, null, false)).Returns(userName); WebSecurity.Setup(s => s.Login(userName, password, false)).Returns(true); var model = new RegisterModel { UserName = userName, Password = password, ConfirmPassword = password }; var result = Controller.Register(model) as RedirectToRouteResult; Assert.NotNull(result); WebSecurity.Verify(s => s.CreateUserAndAccount(userName, password, null, false), Times.Exactly(1)); WebSecurity.Verify(s => s.Login(userName, password, false), Times.Exactly(1)); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password); WebSecurity.Login(model.UserName, model.Password); return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return View(model); }