示例#1
0
        public void Can_Identify_Authors_Url_Without_Page_Number()
        {
            var context = new MockHttpContext(0, false, "~/authors");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Author", routeData.Values["controller"]);
            Assert.AreEqual("AuthorListing", routeData.Values["action"]);
        }
示例#2
0
        public void Can_Identify_Logoff_Url()
        {
            var context = new MockHttpContext(0, false, "~/logoff");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Account", routeData.Values["controller"]);
            Assert.AreEqual("LogOff", routeData.Values["action"]);
        }
示例#3
0
        public void Can_Identify_Credits_Url()
        {
            var context = new MockHttpContext(0, false, "~/credits");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("ViewPage", routeData.Values["controller"]);
            Assert.AreEqual("Credits", routeData.Values["action"]);
        }
 private static MockHttpContext GetHttpContext(bool isAuthenticated, int userId)
 {
     var mockContext = new MockHttpContext(userId, isAuthenticated);
     return mockContext;
 }
示例#5
0
 private MockHttpContext GetHttpContext(bool isAuthenticated, int userID)
 {
     var mockContext = new MockHttpContext();
     mockContext.SetAuth(isAuthenticated);
     mockContext.SetUserID(userID);
     return mockContext;
 }
        private static ViewPageController GetViewPageController(MockHttpContext httpContext)
        {
            var post = MockObjectFactory.CreatePostRepository();
            var cacheService = MockObjectFactory.CreateCacheService();
            var settings = new MockSettings();
            var user = MockObjectFactory.CreateUserRepository();
            var pageController = new ViewPageController(post, user, settings, cacheService)
                                 {
                                     Url = new UrlHelper(httpContext.Request.RequestContext, RouteTable.Routes)
                                 };

            return pageController;
        }
示例#7
0
        public void Can_Identify_Author_Posts_Url_With_Page_Number()
        {
            var context = new MockHttpContext(0, false, "~/authors/admin/page/2");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Author", routeData.Values["controller"]);
            Assert.AreEqual("PostsByAuthor", routeData.Values["action"]);
            Assert.AreEqual("admin", routeData.Values["authorName"]);
            Assert.AreEqual("2", routeData.Values["pageNumber"]);
        }
示例#8
0
        public void Can_Identify_Default_Url()
        {
            var context = new MockHttpContext(0, false, "~/home/index");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("home", routeData.Values["controller"]);
            Assert.AreEqual("index", routeData.Values["action"]);
            Assert.AreEqual(UrlParameter.Optional, routeData.Values["id"]);
        }
示例#9
0
        public void Can_Identify_Invalid_Theme_Url()
        {
            var context = new MockHttpContext(0, false, "~/invalid-theme");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Maintenance", routeData.Values["controller"]);
            Assert.AreEqual("InvalidTheme", routeData.Values["action"]);
        }
示例#10
0
        public void Can_Identify_Under_Construction_Url()
        {
            var context = new MockHttpContext(0, false, "~/under-construction");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Maintenance", routeData.Values["controller"]);
            Assert.AreEqual("Index", routeData.Values["action"]);
        }
示例#11
0
        public void Can_Identify_MonthYear_Url_With_Page_Number()
        {
            var context = new MockHttpContext(0, false, "~/2013/02/page/2");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Home", routeData.Values["controller"]);
            Assert.AreEqual("PostsByYearAndMonth", routeData.Values["action"]);
            Assert.AreEqual("2013", routeData.Values["year"]);
            Assert.AreEqual("02", routeData.Values["month"]);
            Assert.AreEqual("2", routeData.Values["pageNumber"]);
        }
示例#12
0
        public void Can_Identify_Individual_Post_With_Status()
        {
            var context = new MockHttpContext(0, false, "~/2013/03/some-post/comment-posted");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Home", routeData.Values["controller"]);
            Assert.AreEqual("View", routeData.Values["action"]);
            Assert.AreEqual("2013", routeData.Values["year"]);
            Assert.AreEqual("03", routeData.Values["month"]);
            Assert.AreEqual("some-post", routeData.Values["url"]);
            Assert.AreEqual("comment-posted", routeData.Values["status"]);
        }
示例#13
0
        public void Can_Identify_Tag_Url_With_Page_Number()
        {
            var context = new MockHttpContext(0, false, "~/tag/asp-net/page/2");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Home", routeData.Values["controller"]);
            Assert.AreEqual("PostsByTag", routeData.Values["action"]);
            Assert.AreEqual("asp-net", routeData.Values["tagName"]);
            Assert.AreEqual("2", routeData.Values["pageNumber"]);
        }
示例#14
0
        public void Can_Identify_Category_Url_Without_Page_Number()
        {
            var context = new MockHttpContext(0, false, "~/category/asp-net");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Home", routeData.Values["controller"]);
            Assert.AreEqual("PostsByCategory", routeData.Values["action"]);
            Assert.AreEqual("asp-net", routeData.Values["categoryName"]);
        }
示例#15
0
        public void Can_Identify_Page_Url()
        {
            var context = new MockHttpContext(0, false, "~/page/1");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("Home", routeData.Values["controller"]);
            Assert.AreEqual("Index", routeData.Values["action"]);
            Assert.AreEqual("1", routeData.Values["pageNumber"]);
        }
示例#16
0
        public void Can_Identify_Pages_Url_With_Status()
        {
            var context = new MockHttpContext(0, false, "~/pages/some-page/comment-posted");
            var routes = new RouteCollection();
            MvcApplication.RegisterRoutes(routes);

            var routeData = routes.GetRouteData(context);

            Assert.IsNotNull(routeData);
            Assert.AreEqual("ViewPage", routeData.Values["controller"]);
            Assert.AreEqual("Index", routeData.Values["action"]);
            Assert.AreEqual("some-page", routeData.Values["pageUrl"]);
            Assert.AreEqual("comment-posted", routeData.Values["status"]);
        }