public void Register_Simple_UserCreated() { // Arrange var unitOfWork = new UnitOfWorkMock(); var user = new User(); var membershipServiceMock = MembershipServiceMock(user, MembershipCreateStatus.Success); var roleService = new Mock<IRoleService>().Object; var authenticationProvider = new Mock<IAuthenticationProvider>().Object; var controller = new AccountController(unitOfWork, membershipServiceMock.Object, roleService, new ProfileService(unitOfWork), authenticationProvider); var viewModel = new RegisterViewModel { UserName = "******", Email = "[email protected]", Password = "******", ConfirmPassword = "******", PhoneNumber = "000000" }; // Act controller.Register(viewModel); // Assert MembershipCreateStatus status; membershipServiceMock.Verify(x => x.CreateUser(viewModel.UserName, viewModel.Password, viewModel.Email, null, null, true, out status), Times.Once()); }
public ActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus; var user = MembershipService.CreateUser(model.UserName, model.Password, model.Email, null, null, true, out createStatus); if (createStatus == MembershipCreateStatus.Success) { ProfileService.CreateUserProfile(user, model.PhoneNumber); RoleService.AddUsersToRoles(new[] { user.UserName }, new[] { "user" }); AuthenticationProvider.LogOn(model.UserName, false /* createPersistentCookie */); return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form return View(model); }
public void Register_UserCreationSucceded_UserProfileCreated() { // Arrange var unitOfWork = new UnitOfWorkMock(); var user = new User(); var roleService = new Mock<IRoleService>().Object; var membershipServiceMock = MembershipServiceMock(user, MembershipCreateStatus.Success); var authenticationProvider = new Mock<IAuthenticationProvider>().Object; var controller = new AccountController(unitOfWork, membershipServiceMock.Object, roleService, new ProfileService(unitOfWork), authenticationProvider); var viewModel = new RegisterViewModel { PhoneNumber = "000000" }; // Act controller.Register(viewModel); // Assert var userProfile = unitOfWork.GetRepository<UserProfile>().Get().Single(); userProfile.User.Should().Be(user); userProfile.PhoneNumber.Should().Be(viewModel.PhoneNumber); }
// // GET: /Account/Register public ActionResult Register() { var viewModel = new RegisterViewModel(); viewModel.MinRequiredPasswordLength = MembershipService.MinRequiredPasswordLength; return View(viewModel); }