public ActionResult LogOn(LogonViewModel model, string returnUrl) { if (ModelState.IsValid) { if (_authProvider.Authenticate(model.UserName, model.Password)) return Redirect(returnUrl ?? Url.Action("Index", "Admin")); else { ModelState.AddModelError("", "Incorrect username or passwor"); return View(); } } else return View(); }
public void AccountController_Logon_CannotLoginWithInvalidCredentials() { //Arrange Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("admin", "secret")).Returns(true); var model = new LogonViewModel { UserName = "******", Password = "******" }; var target = new AccountController(mock.Object); // Act var result = target.LogOn(model, "/MyUrl"); // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid); }
public void AccountController_Logon_CanLoginWithValidCredentials() { //Arrange Mock<IAuthProvider> mock = new Mock<IAuthProvider>(); mock.Setup(m => m.Authenticate("admin", "secret")).Returns(true); var model = new LogonViewModel { UserName = "******", Password = "******" }; var target = new AccountController(mock.Object); // Act var result = target.LogOn(model, "/MyUrl"); // Assert Assert.IsInstanceOfType(result, typeof(RedirectResult)); Assert.AreEqual<string>("/MyUrl", ((RedirectResult)result).Url); }