Exemplo n.º 1
0
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()
Exemplo n.º 2
0
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/'
Exemplo n.º 3
0
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()]