public async void ShouldRedirectBackWhenCorrectLogin() { LoginModel model = new LoginModel(); model.ReturnUrl = "a"; model.Login = "******"; model.Password = "******"; IAuthenticator authenticator = MockRepository.GenerateStub <IAuthenticator>(); authenticator.Stub(s => s.Login(model)).Return(Task <bool> .FromResult(true)); UrlHelper urlHelper = MockRepository.GenerateStub <UrlHelper>(); urlHelper.Stub(s => s.Content(model.ReturnUrl)).Return(model.ReturnUrl); LoginController controller = new LoginController(authenticator); controller.Url = urlHelper; ActionResult result = await controller.Login(model); authenticator.AssertWasCalled(s => s.Login(model)); RedirectResult redirect = result as RedirectResult; Assert.AreEqual(model.ReturnUrl, redirect.Url); }
public void ShouldCallAuthenticatorAndReturnLoginViewWhenLogoff() { IAuthenticator authenticator = MockRepository.GenerateStub <IAuthenticator>(); LoginController controller = new LoginController(authenticator); ActionResult result = controller.Logout(); authenticator.AssertWasCalled(a => a.Logout()); RedirectToRouteResult redirect = result as RedirectToRouteResult; Assert.AreEqual(MVC.Login.Views.ViewNames.Login, redirect.RouteValues["action"]); }
public async void ShouldReturnLoginViewWhenUncorrectLogin() { LoginModel model = new LoginModel(); model.ReturnUrl = "a"; model.Login = "******"; model.Password = "******"; IAuthenticator authenticator = MockRepository.GenerateStub <IAuthenticator>(); authenticator.Stub(s => s.Login(model)).Return(Task <bool> .FromResult(false)); LoginController controller = new LoginController(authenticator); ActionResult result = await controller.Login(model); authenticator.AssertWasCalled(s => s.Login(model)); ViewResult view = result as ViewResult; Assert.IsNullOrEmpty(view.ViewName); Assert.IsNullOrEmpty(model.Password); Assert.IsFalse(controller.ModelState.IsValid); }