public void Register_With_CreateUser_Success() { //Arrange var routeData = new RouteData(); var httpContext = MockRepository.GenerateStub<HttpContextBase>(); var controllerContext = MockRepository.GenerateStub<ControllerContext>(httpContext, routeData, _controller); _controller.ControllerContext = controllerContext; _controller.ValueProvider = new FormCollection().ToValueProvider(); _membershipTasks.Expect(x => x.MinRequiredPasswordLength).Return(6); MembershipCreateStatus status; _membershipTasks.Stub(x => x.CreateUser("hot", "5t1ckY", "*****@*****.**", null, null, true, null, out status)).IgnoreArguments(). OutRef(MembershipCreateStatus.Success); _authTasks.Expect(x => x.SetAuthCookie(Arg<string>.Is.Equal("hot"), Arg<bool>.Is.Equal(false))); var model = new RegisterModel { UserName = "******", Password = "******", ConfirmPassword = "******", Email = "*****@*****.**" }; //Act var result = _controller.Register(model) as RedirectToRouteResult; //Assert Assert.AreEqual("Home", result.RouteValues["controller"]); Assert.AreEqual("Index", result.RouteValues["action"]); _authTasks.VerifyAllExpectations(); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid && model.IsValid()) { MembershipCreateStatus createStatus; _membershipTasks.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); if (createStatus == MembershipCreateStatus.Success) { _authTasks.SetAuthCookie(model.UserName, false /* createPersistentCookie */); return RedirectToAction("Index", "Home"); } ModelState.AddModelError(string.Empty, ErrorCodeToString(createStatus)); } model.MinRequiredPasswordLength = _membershipTasks.MinRequiredPasswordLength; return View(model); }
public void Register_With_CreateUser_Failure() { //Arrange var routeData = new RouteData(); var httpContext = MockRepository.GenerateStub<HttpContextBase>(); var controllerContext = MockRepository.GenerateStub<ControllerContext>(httpContext, routeData, _controller); _controller.ControllerContext = controllerContext; _controller.ValueProvider = new FormCollection().ToValueProvider(); _membershipTasks.Expect(x => x.MinRequiredPasswordLength).Return(6); MembershipCreateStatus status; _membershipTasks.Stub(x => x.CreateUser("hot", "5t1ckY", "*****@*****.**", null, null, true, null, out status)).IgnoreArguments(). OutRef(MembershipCreateStatus.DuplicateUserName); var model = new RegisterModel { UserName = "******", Password = "******", ConfirmPassword = "******", Email = "*****@*****.**" }; //Act var result = _controller.Register(model) as ViewResult; //Assert Assert.AreEqual("User name already exists. Please enter a different user name.", result.ViewData.ModelState[string.Empty].Errors[0].ErrorMessage); Assert.AreEqual(string.Empty, result.ViewName); Assert.IsInstanceOfType<RegisterModel>(result.Model); Assert.AreEqual(6, (result.Model as RegisterModel).MinRequiredPasswordLength); }