示例#1
0
        public void GetPrimaryNavigation_NormalTree_CurrentItemShouldBeActive()
        {
            using (var db = FakeDbConstructFactory.ConstructDbFromAssembly(Assembly.GetExecutingAssembly()))
            {
                var currentItemId = ID.NewID;
                // setup
                var navRootItem = new DbItem("root", ID.NewID, Templates.NavigationRoot.TemplateId);

                var navPage1 = new DbItem("page 1", ID.NewID, NavigationDbTemplate.TemplateId);
                navRootItem.Children.Add(navPage1);

                var navPage2 = new DbItem("page 2", currentItemId, NavigationDbTemplate.TemplateId);
                navRootItem.Children.Add(navPage2);

                db.Add(navRootItem);

                var currentItem = db.GetItem(currentItemId);

                // act
                var primaryNavigation = this.NavigationService.GetPrimaryNavigation(currentItem);

                // assert
                primaryNavigation.Should().NotBeNull();
                primaryNavigation.Should().NotBeEmpty();
                primaryNavigation.Should().Contain(x => x.ItemId == currentItemId);
                primaryNavigation.Single(x => x.ItemId == currentItemId).IsActive.Should().BeTrue();
                primaryNavigation.Where(x => x.ItemId != currentItemId).Select(x => x.IsActive.Should().BeFalse());
            }
        }
示例#2
0
        public void GetPrimaryNavigation_MixedTree_ReturnsOnlyNavigableItems()
        {
            using (var db = FakeDbConstructFactory.ConstructDbFromAssembly(Assembly.GetExecutingAssembly()))
            {
                var currentItemId = ID.NewID;
                var nonNavItemId  = ID.NewID;
                // setup
                var navRootItem = new DbItem("root", ID.NewID, NavigationRootDbTemplate.TemplateId);

                var navPage1 = new DbItem("page 1", ID.NewID, NavigationDbTemplate.TemplateId);
                navRootItem.Children.Add(navPage1);

                var nonNavItem = new DbItem("non nav", nonNavItemId, this.NonNavigationTemplateId);
                navRootItem.Children.Add(nonNavItem);

                var navPage2 = new DbItem("page 2", currentItemId, NavigationDbTemplate.TemplateId);
                navRootItem.Children.Add(navPage2);

                db.Add(navRootItem);

                var currentItem = db.GetItem(currentItemId);

                // act
                var primaryNavigation = this.NavigationService.GetPrimaryNavigation(currentItem);

                // assert
                primaryNavigation.Should().NotBeNull();
                primaryNavigation.Should().NotBeEmpty();
                primaryNavigation.Should().NotContain(x => x.ItemId == nonNavItemId);
            }
        }