Esempio n. 1
0
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()
Esempio n. 2
0
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/'
Esempio 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()]
Esempio n. 4
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()
Esempio n. 5
0
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/'
Esempio n. 6
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/'
Esempio n. 7
0
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() == '#'
Esempio n. 8
0
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
Esempio n. 9
0
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
Esempio n. 10
0
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'