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