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());
        }
Пример #2
0
        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);
        }
Пример #4
0
 //
 // GET: /Account/Register
 public ActionResult Register()
 {
     var viewModel = new RegisterViewModel();
     viewModel.MinRequiredPasswordLength = MembershipService.MinRequiredPasswordLength;
     return View(viewModel);
 }