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_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_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()]