def test_16_softroot(self): page2 = Page.objects.get(pk=self.page2.pk) page2.soft_root = True page2.save() context = self.get_context(path=page2.get_absolute_url()) nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 1) self.assertEqual(nodes[0].get_absolute_url(), page2.get_absolute_url()) page3 = Page.objects.get(pk=self.page3.pk) context = self.get_context(path=page3.get_absolute_url()) nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 1) self.assertEqual(nodes[0].get_absolute_url(), page2.get_absolute_url()) page1 = Page.objects.get(pk=self.page1.pk) context = self.get_context(path=page1.get_absolute_url()) nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].get_absolute_url(), page1.get_absolute_url()) self.assertEqual(len(nodes[0].children[0].children), 0) context = self.get_context(path="/no/real/path/") nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].get_absolute_url(), page1.get_absolute_url()) self.assertEqual(len(nodes[0].children[0].children), 0) page5 = Page.objects.get(pk=self.page5.pk) context = self.get_context(path=page5.get_absolute_url()) nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].get_absolute_url(), page1.get_absolute_url()) self.assertEqual(len(nodes[0].children[0].children), 0)
def test_17_show_submenu_from_non_menu_page(self): page6 = Page.objects.get(pk=self.page6.pk) context = self.get_context(page6.get_absolute_url()) nodes = show_menu(context, 1, 100, 0, 1)['children'] self.assertEqual(len(nodes), 0) page7 = Page.objects.get(pk=self.page7.pk) context = self.get_context(page7.get_absolute_url()) nodes = show_menu(context, 1, 100, 0, 1)['children'] self.assertEqual(len(nodes), 0)
def test_17_show_submenu_from_non_menu_page(self): page6 = Page.objects.get(pk=self.page6.pk) context = self.get_context(page6.get_absolute_url()) nodes = show_menu(context, 1, 100, 0, 1)['children'] self.assertEqual(len(nodes), len(page6.children.all())) page7 = Page.objects.get(pk=self.page7.pk) context = self.get_context(page7.get_absolute_url()) nodes = show_menu(context, 1, 100, 0, 1)['children'] self.assertEqual(len(nodes), len(page6.children.all())) nodes = show_menu(context, 2, 100, 0, 1)['children'] self.assertEqual(len(nodes), len(page7.children.all()))
def test_03_only_active_tree(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 0, 100, 0, 100)['children'] self.assertEqual(len(nodes[1].children), 0) self.assertEqual(len(nodes[0].children), 1) self.assertEqual(len(nodes[0].children[0].children), 1) context = self.get_context(path=self.page4.get_absolute_url()) nodes = show_menu(context, 0, 100, 0, 100)['children'] self.assertEqual(len(nodes[1].children), 1) self.assertEqual(len(nodes[0].children), 0)
def test_02_extenders_on_root(self): self.create_some_nodes() page1 = Page.objects.get(pk=self.page1.pk) page1.navigation_extenders = "TestMenu" page1.save() context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(len(nodes[0].children), 4) self.assertEqual(len(nodes[0].children[3].children), 1) page1.in_navigation = False page1.save() nodes = show_menu(context)['children'] self.assertEqual(len(nodes), 5)
def test_08_level_zero_and_one(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 0, 1, 100, 100)['children'] self.assertEqual(len(nodes), 2) for node in nodes: self.assertEqual(len(node.children), 1)
def test_07_only_level_one_active(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 1, 1, 0, 100)['children'] self.assertEqual(len(nodes), 1) self.assertEqual(nodes[0].descendant, True) self.assertEqual(len(nodes[0].children), 0)
def test_06_only_level_one(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 1, 1, 100, 100)['children'] self.assertEqual(len(nodes), len(self.level1_pages)) for node in nodes: self.assertEqual(len(node.children), 0)
def test_06_only_level_one(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 1, 1, 100, 100)['children'] self.assertEqual(len(nodes), 2) for node in nodes: self.assertEqual(len(node.children), 0)
def test_04_only_one_active_level(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 0, 100, 0, 1)['children'] self.assertEqual(len(nodes[1].children), 0) self.assertEqual(len(nodes[0].children), 1) self.assertEqual(len(nodes[0].children[0].children), 0)
def test_14_unpublished(self): page2 = Page.objects.get(pk=self.page2.pk) page2.published = False page2.save() context = self.get_context() nodes = show_menu(context)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(len(nodes[0].children), 0)
def test_03_extenders_on_root_child(self): self.create_some_nodes() page4 = Page.objects.get(pk=self.page4.pk) page4.navigation_extenders = "TestMenu" page4.save() context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(len(nodes[1].children), 4)
def test_15_home_not_in_menu(self): page1 = Page.objects.get(pk=self.page1.pk) page1.in_navigation = False page1.save() page4 = Page.objects.get(pk=self.page4.pk) page4.in_navigation = False page4.save() context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 1) self.assertEqual(nodes[0].get_absolute_url(), "/%s/" % self.page2.get_slug()) self.assertEqual(nodes[0].children[0].get_absolute_url(), "/%s/%s/" % (self.page2.get_slug(), self.page3.get_slug())) page4 = Page.objects.get(pk=self.page4.pk) page4.in_navigation = True page4.save() menu_pool.clear(settings.SITE_ID) context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2)
def test_05_incorrect_nav_extender_in_db(self): self.create_some_nodes() page2 = Page.objects.get(pk=self.page2.pk) page2.navigation_extenders = "SomethingWrong" page2.save() context = self.get_context() nodes = show_menu(context)['children'] self.assertEqual(len(nodes), 2)
def test_04_extenders_on_child(self): self.create_some_nodes() page1 = Page.objects.get(pk=self.page1.pk) page1.in_navigation = False page1.save() page2 = Page.objects.get(pk=self.page2.pk) page2.navigation_extenders = "TestMenu" page2.save() context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(len(nodes[0].children), 4) self.assertEqual(nodes[0].children[1].get_absolute_url(), "/" )
def test_02_show_menu(self): context = self.get_context() # test standard show_menu nodes = show_menu(context)['children'] self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].selected, True) self.assertEqual(nodes[0].sibling, False) self.assertEqual(nodes[0].descendant, False) self.assertEqual(nodes[0].children[0].descendant, True) self.assertEqual(nodes[0].children[0].children[0].descendant, True) self.assertEqual(nodes[0].get_absolute_url(), "/") self.assertEqual(nodes[1].get_absolute_url(), self.page4.get_absolute_url()) self.assertEqual(nodes[1].sibling, True) self.assertEqual(nodes[1].selected, False)
def test_02_show_menu(self): context = self.get_context() nodes = show_menu(context)['children'] self.assertEqual(nodes[0].get_absolute_url(), self.get_pages_root()) self.assertEqual(nodes[0].get_absolute_url(), "/content/")
def test_05_only_level_zero(self): context = self.get_context() # test standard show_menu nodes = show_menu(context, 0, 0, 0, 0)['children'] for node in nodes: self.assertEqual(len(node.children), 0)
def test_15_empty_menu(self): Page.objects.all().delete() request = self.get_request() nodes = menu_pool.get_nodes(request) context = self.get_context() nodes = show_menu(context, 0, 100, 100, 100)['children']