Esempio n. 1
0
            public void Can_Resolve_Home_Page_With_Default_Action(string path)
            {
                // Given

                var store = NewDocumentStore();

                var mapper = A.Fake<IControllerMapper>();
                var context = A.Fake<HttpContextBase>();
                var trie = A.Fake<IRouteResolverTrie>();

                A.CallTo(() => context.Request.Path).Returns(path);
                A.CallTo(() => mapper.GetControllerName(typeof (FakeController))).Returns("FakeController");                
                A.CallTo(() => mapper.ControllerHasAction("FakeController", "index")).Returns(true);

                // When

                RouteData data;

                using (var session = store.OpenSession())
                {
                    var node = new TrieNode
                    {
                        PageId = "pages/1"
                    };

                    var page = new FakePage { Id = "pages/1" };
                    var structureInfo = new Trie
                    {
                        Id = DefaultBrickPileBootstrapper.TrieId,
                        RootNode = node
                    };
                    session.Store(structureInfo);
                    session.Store(page);
                    session.SaveChanges();

                    var route = new DefaultRoute(new VirtualPathResolver(), new DefaultRouteResolver(trie), store, mapper);
                    data = route.GetRouteData(context);
                }

                //Then

                Assert.NotNull(data);
                Assert.Equal("index", data.Values["action"]);
                Assert.Equal("FakeController", data.Values["controller"]);
            }
Esempio n. 2
0
            public void Can_Resolve_Virtual_Path_For_Page_With_Query_Parameter()
            {
                // Given

                var store = A.Fake<IDocumentStore>();
                var mapper = A.Fake<IControllerMapper>();
                var context = A.Fake<HttpContextBase>();
                var trie = A.Fake<IRouteResolverTrie>();

                var currentPage = new FakePage
                {
                    Metadata =
                    {
                        Url = "fake-page"
                    }
                };
                context.Request.RequestContext.RouteData.Values[DefaultRoute.CurrentPageKey] = currentPage;

                // When

                var route = new DefaultRoute(new VirtualPathResolver(), new DefaultRouteResolver(trie), store, mapper);
                VirtualPathData data = route.GetVirtualPath(context.Request.RequestContext, new RouteValueDictionary(new { currentPage, page = "1", mode = "edit" }));

                // Then

                Assert.NotNull(data);
                Assert.Equal("fake-page/?page=1&mode=edit", data.VirtualPath);
            }
Esempio n. 3
0
            public void Returns_Null_If_Request_Is_For_Static_Content(string path)
            {
                // Given

                var store = NewDocumentStore();
                var mapper = A.Fake<IControllerMapper>();
                var context = A.Fake<HttpContextBase>();
                var trie = A.Fake<IRouteResolverTrie>();

                A.CallTo(() => context.Request.Path).Returns(path);
                A.CallTo(() => mapper.GetControllerName(typeof(FakeController))).Returns("FakeController");
                A.CallTo(() => mapper.ControllerHasAction("FakeController", "index")).Returns(false);

                // When

                RouteData data;

                using (var session = store.OpenSession())
                {
                    var page = new FakePage();
                    session.Store(page);
                    var node = new TrieNode
                    {
                        PageId = page.Id
                    };
                    session.Store(new Trie
                    {
                        Id = DefaultBrickPileBootstrapper.TrieId,
                        RootNode = node
                    });
                    session.SaveChanges();

                    var route = new DefaultRoute(new VirtualPathResolver(), new DefaultRouteResolver(trie), store, mapper);
                    data = route.GetRouteData(context);
                }

                // Then

                Assert.Null(data);
            }