public void LogOn_should_log_user_out_first_when_invoked() { service.Setup(x => x.SignOut(It.IsAny <HttpSessionStateBase>())).Verifiable(); controller.ControllerContext = Fakes.MockedContext().Object; var action = controller.LogOn(); Assert.That(action, Is.Not.Null); service.Verify(x => x.SignOut(It.IsAny <HttpSessionStateBase>()), Times.AtLeastOnce()); }
public void LogOff_should_call_SignOut_on_Service_and_redirect_when_invoked() { service.Setup(x => x.SignOut(It.IsAny <HttpSessionStateBase>())).Verifiable(); controller.ControllerContext = Fakes.MockedContext().Object; var action = controller.LogOff() as RedirectToRouteResult; Assert.That(action, Is.Not.Null); Assert.That(action.RouteValues["Action"], Is.EqualTo("LogOn")); Assert.That(action.RouteValues["Controller"], Is.EqualTo("Account")); service.Verify(x => x.SignOut(It.IsAny <HttpSessionStateBase>()), Times.AtLeastOnce()); }
public void LogOn_should_redirect_to_URL_requested_when_user_is_valid_and_url_is_local() { AdminUser adminUser = new AdminUser(); service.Setup(x => x.IsValidUser(It.IsAny <string>(), It.IsAny <string>(), out adminUser)).Returns(true).Verifiable(); service.Setup(x => x.SignIn(It.IsAny <AdminUser>(), It.IsAny <HttpSessionStateBase>())).Verifiable(); var routes = new RouteCollection(); controller.ControllerContext = Fakes.MockedContext().Object; controller.Url = new UrlHelper(new RequestContext(Fakes.MockedContext().Object.HttpContext, new RouteData()), routes); var action = controller.LogOn(new LogOnModel(), "/Product/List") as RedirectResult; Assert.That(action.Url, Is.EqualTo("/Product/List")); }
public void LogOn_should_redirect_to_Index_action_on_HomeController_when_user_is_valid_and_url_is_not_local() { AdminUser adminUser = new AdminUser(); service.Setup(x => x.IsValidUser(It.IsAny <string>(), It.IsAny <string>(), out adminUser)).Returns(true).Verifiable(); service.Setup(x => x.SignIn(It.IsAny <AdminUser>(), It.IsAny <HttpSessionStateBase>())).Verifiable(); //var mockUrlHelper = new Mock<UrlHelper>(); //mockUrlHelper.Setup(x => x.IsLocalUrl(It.IsAny<string>())).Returns(false); var controllerContext = Fakes.MockedContext(); var routes = new RouteCollection(); controller.ControllerContext = controllerContext.Object; controller.Url = new UrlHelper(new RequestContext(controllerContext.Object.HttpContext, new RouteData()), routes); var action = controller.LogOn(new LogOnModel(), "http://www.disney.com") as RedirectResult; Assert.That(action.Url, Is.EqualTo("/Home/Index")); }