Ejemplo 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"]);
            }
Ejemplo n.º 2
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);
            }