public void RequiresAccountConfirmationAttributePassedWithConfirmationRequiredMessage(string inOrderTo) { var cookieCollection = new HttpCookieCollection(); var response = new Mock <HttpResponseBase>(MockBehavior.Strict); response.SetupGet(x => x.Cookies).Returns(cookieCollection); response.Setup(x => x.ApplyAppPathModifier("/account/ConfirmationRequired")).Returns <string>(x => x); var request = new Mock <HttpRequestBase>(); request.Setup(m => m.Url).Returns(new Uri(TestUtility.GallerySiteRootHttps)); request.Setup(m => m.RawUrl).Returns(TestUtility.GallerySiteRootHttps); request.Setup(m => m.IsSecureConnection).Returns(true); var httpContext = new Mock <HttpContextBase>(); httpContext.SetupGet(h => h.Request).Returns(request.Object); httpContext.SetupGet(x => x.Response).Returns(response.Object); var routeCollection = new RouteCollection(); Routes.RegisterRoutes(routeCollection); var requestContext = new RequestContext(httpContext.Object, new RouteData()); var urlHelper = new UrlHelper(requestContext, routeCollection); var controller = new TestableAppController { Url = urlHelper }; controller.ControllerContext = new ControllerContext(requestContext, controller); var mockActionContext = new Mock <ActionExecutingContext>(MockBehavior.Strict); mockActionContext.SetupGet(x => x.HttpContext.Request.IsAuthenticated).Returns(true); mockActionContext.SetupGet(x => x.Controller).Returns(controller); var attribute = new RequiresAccountConfirmationAttribute(inOrderTo); // Act attribute.OnActionExecuting(mockActionContext.Object); var result = mockActionContext.Object.Result; // Assert Assert.IsType <RedirectResult>(result); Assert.Equal(TestUtility.GallerySiteRootHttps + "account/ConfirmationRequired", ((RedirectResult)result).Url); Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Before you can {0} you must first confirm your email address.", inOrderTo), controller.TempData["ConfirmationRequiredMessage"]); Assert.Equal("ConfirmationContext", cookieCollection[0].Name); Assert.NotEmpty(cookieCollection[0].Value); mockActionContext.Verify(x => x.HttpContext.Request.IsAuthenticated); mockActionContext.Verify(x => x.Controller); }
public void GivenNoActiveUserPrincipal_ItReturnsNull() { // Arrange var ctrl = new TestableAppController(); ctrl.OwinContext = Fakes.CreateOwinContext(); // Act var user = ctrl.InvokeGetCurrentUser(); // Assert Assert.Null(user); }
public void GivenNoActiveUserPrincipal_ItReturnsNull() { // Arrange var ctrl = new TestableAppController(); ctrl.SetOwinContextOverride(Fakes.CreateOwinContext()); // Act var user = ctrl.InvokeGetCurrentUser(); // Assert Assert.Null(user); }
public void RequiresAccountConfirmationAttributePassedWithConfirmationRequiredMessage(string inOrderTo) { var cookieCollection = new HttpCookieCollection(); var response = new Mock<HttpResponseBase>(MockBehavior.Strict); response.SetupGet(x => x.Cookies).Returns(cookieCollection); response.Setup(x => x.ApplyAppPathModifier("/account/ConfirmationRequired")).Returns<string>(x => x); var request = new Mock<HttpRequestBase>(); var httpContext = new Mock<HttpContextBase>(); httpContext.SetupGet(h => h.Request).Returns(request.Object); httpContext.SetupGet(x => x.Response).Returns(response.Object); httpContext.SetupGet(x => x.Request.RawUrl).Returns("/returnUrl"); var routeCollection = new RouteCollection(); Routes.RegisterRoutes(routeCollection); var requestContext = new RequestContext(httpContext.Object, new RouteData()); var urlHelper = new UrlHelper(requestContext, routeCollection); var controller = new TestableAppController { Url = urlHelper }; controller.ControllerContext = new ControllerContext(requestContext, controller); var mockActionContext = new Mock<ActionExecutingContext>(MockBehavior.Strict); mockActionContext.SetupGet(x => x.HttpContext.Request.IsAuthenticated).Returns(true); mockActionContext.SetupGet(x => x.Controller).Returns(controller); var attribute = new RequiresAccountConfirmationAttribute(inOrderTo); // Act attribute.OnActionExecuting(mockActionContext.Object); var result = mockActionContext.Object.Result; // Assert Assert.IsType<RedirectResult>(result); Assert.Equal("/account/ConfirmationRequired", ((RedirectResult)result).Url); Assert.Equal(string.Format(CultureInfo.CurrentCulture, "Before you can {0} you must first confirm your email address.", inOrderTo), controller.TempData["ConfirmationRequiredMessage"]); Assert.Equal("ConfirmationContext", cookieCollection[0].Name); Assert.NotEmpty(cookieCollection[0].Value); mockActionContext.Verify(x => x.HttpContext.Request.IsAuthenticated); mockActionContext.Verify(x => x.Controller); }