public void AccountController_regristration_succeed() { //Arrange string _email = "*****@*****.**"; var registerViewModel = new RegisterViewModel() { Email = _email, Password = _email }; var appUser = new ApplicationUser{ UserName = registerViewModel.Email, Email = registerViewModel.Email }; var userStoreMock = new Mock<IUserStore<ApplicationUser>>(); Mock<ApplicationUserManager> userManagerMock = new Mock<ApplicationUserManager>(userStoreMock.Object); userManagerMock.Setup(mck => mck.CreateAsync(It.IsAny<ApplicationUser>(), It.IsAny<string>())).Returns((ApplicationUser apUsr, string pwd) => { if (appUser != null && appUser.UserName == _email && appUser.Email == _email && !String.IsNullOrEmpty(pwd) && pwd == _email) return Task.FromResult<IdentityResult>( IdentityResult.Success); return Task<IdentityResult>.Run<IdentityResult>(() => IdentityResult.Failed()); }); var authManagerMck = new Mock<IAuthenticationManager>(); var signInManagerMck = new Mock<ApplicationSignInManager>(userManagerMock.Object, authManagerMck.Object); var accountController = new AccountController(userManagerMock.Object, signInManagerMck.Object); //Act var tsk = accountController.Register(registerViewModel); tsk.Wait(); var reslt = tsk.Result; //Assert userManagerMock.Verify(mck => mck.CreateAsync(It.IsAny<ApplicationUser>(), It.IsAny<string>())); Assert.IsType<RedirectToRouteResult>(reslt); }
public void AccountController_Login_Denied() { //Arrange string _email = "*****@*****.**"; var registerViewModel = new RegisterViewModel() { Email = _email, Password = _email }; var appUser = new ApplicationUser { UserName = registerViewModel.Email, Email = registerViewModel.Email }; var userStoreMock = new Mock<IUserStore<ApplicationUser>>(); Mock<ApplicationUserManager> userManagerMock = new Mock<ApplicationUserManager>(userStoreMock.Object); userManagerMock.Setup(mck => mck.CreateAsync(It.IsAny<ApplicationUser>(), It.IsAny<string>())).Returns((ApplicationUser apUsr, string pwd) => { return Task<IdentityResult>.Run<IdentityResult>(() => IdentityResult.Failed()); }); var authManagerMck = new Mock<IAuthenticationManager>(); //ApplicationSignInManager signInManager = Mock.Of<ApplicationSignInManager>(); var signInManagerMck = new Mock<ApplicationSignInManager>(userManagerMock.Object, authManagerMck.Object); var accountController = new AccountController(userManagerMock.Object, signInManagerMck.Object); //Act var tsk = accountController.Register(registerViewModel); tsk.Wait(); var reslt = tsk.Result; //Assert userManagerMock.Verify(mck => mck.CreateAsync(It.IsAny<ApplicationUser>(), It.IsAny<string>())); Assert.IsType<ViewResult>(reslt); Assert.IsType<RegisterViewModel>(((ViewResult)reslt).Model); }