public void Register_ModelStateNotValid_UserNotCreated() { // Arrange var unitOfWork = new UnitOfWorkMock(); var membershipService = new Mock<IMembershipService>(MockBehavior.Strict).Object; var roleService = new Mock<IRoleService>().Object; var authenticationProvider = new Mock<IAuthenticationProvider>(MockBehavior.Strict).Object; var controller = new AccountController(unitOfWork, membershipService, roleService, new ProfileService(unitOfWork), authenticationProvider); controller.ModelState.AddModelError("", ""); // Act var result = (ViewResult) controller.Register(new RegisterViewModel()); // Assert result.ViewName.Should().Be(""); }
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 void Register_UserCreationFailed_UserProfileNotCreated() { // Arrange var unitOfWork = new UnitOfWorkMock(); var user = new User(); var membershipServiceMock = MembershipServiceMock(user, MembershipCreateStatus.ProviderError); var roleService = new Mock<IRoleService>().Object; var authenticationProvider = new Mock<IAuthenticationProvider>().Object; var controller = new AccountController(unitOfWork, membershipServiceMock.Object, roleService, new ProfileService(unitOfWork), authenticationProvider); // Act controller.Register(new RegisterViewModel()); // Assert var userProfiles = unitOfWork.GetRepository<UserProfile>().Get(); userProfiles.Should().BeEmpty(); controller.ModelState.IsValid.Should().BeFalse(); }
public void Register_UserCreationSucceded_UserRoleAssignedToUser() { // Arrange var unitOfWork = new UnitOfWorkMock(); var user = new User(); var membershipServiceMock = MembershipServiceMock(user, MembershipCreateStatus.Success); var roleService = new Mock<IRoleService>(); var authenticationProvider = new Mock<IAuthenticationProvider>().Object; var controller = new AccountController(unitOfWork, membershipServiceMock.Object, roleService.Object, new ProfileService(unitOfWork), authenticationProvider); // Act controller.Register(new RegisterViewModel()); // Assert roleService.Verify(rs => rs.AddUsersToRoles(new[] { user.UserName }, new[] { "user" })); }
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); }