public void Login_With_Invalid_User() { var userStore = new Mock<IUserStore>(); var authService = new Mock<IFormsAuthenticationService>(); userStore.Setup(u => u.Authenticate("abc", "def")).Returns(false); var controller = new UserController(userStore.Object, authService.Object); var model = new LoginViewModel { Password = "******", Username = "******" }; var result = controller.Index(model); userStore.Verify(u => u.Authenticate("abc", "def"), Times.Once); Assert.IsInstanceOf(typeof(ViewResult), result); var view = (ViewResult)result; Assert.IsInstanceOf(typeof(LoginViewModel), view.Model); model = (LoginViewModel)view.Model; Assert.AreEqual("abc", model.Username); Assert.AreEqual("def", model.Password); }
public void Login_With_Valid_User() { var userStore = new Mock<IUserStore>(); var authService = new Mock<IFormsAuthenticationService>(); userStore.Setup(u => u.Authenticate("abc", "def")).Returns(true); authService.Setup(a => a.SetAuthCookie("abc", false)); var controller = new UserController(userStore.Object, authService.Object); var model = new LoginViewModel { Password = "******", Username = "******" }; var result = controller.Index(model); userStore.Verify(u => u.Authenticate("abc", "def"), Times.Once); authService.Verify(a => a.SetAuthCookie("abc", false), Times.Once); var redirect = (RedirectToRouteResult)result; Assert.AreEqual("Index", redirect.RouteValues["action"]); Assert.AreEqual("Home", redirect.RouteValues["controller"]); }