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

                var mapper  = A.Fake <IControllerMapper>();
                var context = A.Fake <HttpContextBase>();
                var trie    = A.Fake <IRouteResolverTrie>();
                var theTrie = new Trie
                {
                    Id       = DefaultBrickPileBootstrapper.TrieId,
                    RootNode = new TrieNode
                    {
                        PageId = "pages/1",
                        Url    = "page"
                    }
                };

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

                // When

                RouteData data;

                using (var store = NewDocumentStore()) {
                    using (var session = store.OpenSession())
                    {
                        var page = new FakePage {
                            Id = "pages/1"
                        };

                        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"]);
            }
Exemplo 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);
            }