GetSiteMap() public method

public GetSiteMap ( System.Web.Mvc.ViewContext context ) : IEnumerable
context System.Web.Mvc.ViewContext
return IEnumerable
        public void GetSiteMap_NullAuthorization_ReturnsAllMenus()
        {
            siteMap = new MvcSiteMapProvider(config, parser, null);

            MvcSiteMapNode[] actual = siteMap.GetSiteMap(context).ToArray();

            Assert.Equal(1, actual.Length);

            Assert.Null(actual[0].Action);
            Assert.Null(actual[0].Controller);
            Assert.Equal("Administration", actual[0].Area);
            Assert.Equal("fa fa-gears", actual[0].IconClass);

            actual = actual[0].Children.ToArray();

            Assert.Equal(2, actual.Length);

            Assert.Empty(actual[0].Children);

            Assert.Equal("Index", actual[0].Action);
            Assert.Equal("Accounts", actual[0].Controller);
            Assert.Equal("Administration", actual[0].Area);
            Assert.Equal("fa fa-user", actual[0].IconClass);

            Assert.Null(actual[1].Action);
            Assert.Equal("Roles", actual[1].Controller);
            Assert.Equal("Administration", actual[1].Area);
            Assert.Equal("fa fa-users", actual[1].IconClass);

            actual = actual[1].Children.ToArray();

            Assert.Equal(1, actual.Length);
            Assert.Empty(actual[0].Children);

            Assert.Equal("Create", actual[0].Action);
            Assert.Equal("Roles", actual[0].Controller);
            Assert.Equal("Administration", actual[0].Area);
            Assert.Equal("fa fa-file-o", actual[0].IconClass);
        }
        public void GetSiteMap_ActiveMenuParents_SetsHasActiveChildren()
        {
            route["action"] = "Create";
            route["controller"] = "Roles";
            route["area"] = "Administration";

            siteMap = new MvcSiteMapProvider(config, parser, null);

            MvcSiteMapNode[] actual = siteMap.GetSiteMap(context).ToArray();

            Assert.Equal(1, actual.Length);
            Assert.True(actual[0].HasActiveChildren);

            actual = actual[0].Children.ToArray();

            Assert.Equal(2, actual.Length);
            Assert.Empty(actual[0].Children);
            Assert.True(actual[1].HasActiveChildren);
            Assert.False(actual[0].HasActiveChildren);

            actual = actual[1].Children.ToArray();

            Assert.Equal(1, actual.Length);
            Assert.Empty(actual[0].Children);
            Assert.False(actual[0].HasActiveChildren);
        }
        public void GetSiteMap_NonMenuChildrenNodeIsActive_SetsActiveMenu()
        {
            route["action"] = "Edit";
            route["controller"] = "Accounts";
            route["area"] = "Administration";

            siteMap = new MvcSiteMapProvider(config, parser, null);

            MvcSiteMapNode[] actual = siteMap.GetSiteMap(context).ToArray();

            Assert.Equal(1, actual.Length);
            Assert.False(actual[0].IsActive);

            actual = actual[0].Children.ToArray();

            Assert.Equal(2, actual.Length);
            Assert.True(actual[0].IsActive);
            Assert.False(actual[1].IsActive);
            Assert.Empty(actual[0].Children);

            actual = actual[1].Children.ToArray();

            Assert.Equal(1, actual.Length);
            Assert.False(actual[0].IsActive);
            Assert.Empty(actual[0].Children);
        }