def test_menuitem_has_children(): menu = MenuFactory(slug=Menu.NAVIGATION) parent = MenuItemFactory(menu=menu, slug='main-1', title='x') item = MenuItemFactory(menu=menu, slug='main-2', title='x', parent=parent) assert parent.has_children() assert not item.has_children()
def test_menu_link_external(): menu = MenuFactory(slug='main') menu_item = MenuItemFactory(menu=menu, slug='present') menu_item.link = Link.objects.create_external_link( 'http://www.bbc.co.uk/', 'News' ) menu_item.save() assert menu_item.get_link() == 'http://www.bbc.co.uk/'
def test_menuitem_delete(client): """Delete a menuitem and check it's not in the navigation menu.""" user = UserFactory(is_staff=True) assert client.login(username=user.username, password=TEST_PASSWORD) is True menu = MenuFactory(slug=Menu.NAVIGATION) menu_item = MenuItemFactory(menu=menu, title="Home", slug="home") response = client.post( reverse('block.menuitem.delete', args=[menu_item.pk]), {} ) assert 302 == response.status_code, response.context['form'].errors expect = reverse('block.menuitem.list', args=[menu.slug]) assert expect == response['location'] assert 1 == MenuItem.objects.count() menu_item.refresh_from_db() assert menu_item.is_deleted assert [] == [m.title for m in Menu.objects.navigation_menu_items()]
def test_menuitem_has_link(): menu = MenuFactory(slug=Menu.NAVIGATION) item = MenuItemFactory(menu=menu, slug='main-1', title='x') assert not item.has_link() item.link = Link.objects.create_external_link('http://bbc.co.uk/', 'BBC') item.save() item.refresh_from_db() assert item.has_link()
def test_init_menuitem_update(): menu = MenuFactory(slug=Menu.NAVIGATION) item = MenuItemFactory(menu=menu, slug='main-1', title='x', order=0) assert item.menu == menu assert item.slug == 'main-1' assert item.title == 'x' assert item.order == 0 assert item.get_link() == '#' link = Link.objects.create_external_link('http://www.bbc.co.uk/', 'BBC') item = MenuItem.objects.init_menuitem( menu=menu, slug='main-1', title='test', order=1, link=link ) assert item.menu == menu assert item.slug == 'main-1' assert item.title == 'test' assert item.order == 1 assert item.get_link() == 'http://www.bbc.co.uk/'
def test_menu_link_internal(): menu = MenuFactory(slug='main') page = PageFactory(slug='current', slug_menu='day') menu_item = MenuItemFactory(menu=menu, slug='present') menu_item.link = Link.objects.create_internal_link( Url.objects.init_page_url(page) ) menu_item.save() menu_item.refresh_from_db() assert menu_item.get_link() == '/current/day/'
def test_menu_link_none(): menu = MenuFactory(slug='main') menu_item = MenuItemFactory(menu=menu, slug='present') assert 1 == len(Menu.objects.navigation_menu_items()) assert menu_item.get_link() == '#'
def test_get_design_url(): menu = MenuFactory(slug='main', title='Main Menu') menu_item = MenuItemFactory(menu=menu, slug='main-1', title='One') menu_list_url = reverse('block.menuitem.list', args=[menu.slug]) assert menu_item.get_design_url() == menu_list_url
def test_menuitem_set_pending_edit(): menu = MenuFactory(slug=Menu.NAVIGATION) item = MenuItemFactory(menu=menu, slug='main-1', title='x') pe = item.set_pending_edit() assert pe is None
def test_menuitem_get_content_object(): menu = MenuFactory(slug=Menu.NAVIGATION) item = MenuItemFactory(menu=menu, slug='main-1', title='x') ct = item.get_content_type() assert ct.app_label == 'block' assert ct.model == 'menuitem'