def test_flat_menu_models_correct(self): self.assertEqual(get_flat_menu_model(), FlatMenu) menu_obj = get_flat_menu_model().objects.first() self.assertEqual( menu_obj.get_menu_items_manager().model, FlatMenuCustomMenuItem )
def test_invalid_flat_menu_items_related_name(self): with self.assertRaisesMessage( ImproperlyConfigured, ("'invalid_related_name' isn't a valid relationship name for " "accessing menu items from FlatMenu.")): menu = get_flat_menu_model().objects.get(id=1) menu.get_menu_items_manager()
def test_invalid_flat_menu_items_related_name(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "'invalid_related_name' isn't a valid relationship name for " "accessing menu items from FlatMenu. Check that your " "`WAGTAILMENUS_FLAT_MENU_ITEMS_RELATED_NAME` setting matches the " "`related_name` used on your MenuItem model's `ParentalKey` field." )): menu = get_flat_menu_model().objects.get(id=1) menu.get_menu_items_manager()
from wagtail import VERSION as WAGTAIL_VERSION from wagtailmenus import (get_flat_menu_model, get_main_menu_model, wagtail_hooks) from wagtailmenus.panels import (FlatMenuItemsInlinePanel, MainMenuItemsInlinePanel) from wagtailmenus.tests.models import LinkPage if WAGTAIL_VERSION >= (2, 0): from wagtail.admin.edit_handlers import ObjectList, InlinePanel from wagtail.core.models import Page, Site else: from wagtail.wagtailadmin.edit_handlers import ObjectList, InlinePanel from wagtail.wagtailcore.models import Page, Site FlatMenu = get_flat_menu_model() class CMSUsecaseTests(WebTest): # optional: we want some initial data to be able to login fixtures = ['test.json'] base_flatmenu_admin_url = '/admin/wagtailmenus/flatmenu/' base_mainmenu_admin_url = '/admin/wagtailmenus/mainmenu/' def setUp(self): get_user_model().objects._create_user(username='******', email='*****@*****.**', password='******', is_staff=True, is_superuser=True)
def test_flat_menu_no_existent(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "WAGTAILMENUS_FLAT_MENU_MODEL refers to model " "'tests.NonExistentFlatMenu' that has not been installed" )): get_flat_menu_model()
def test_flat_menu_invalid_format(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "WAGTAILMENUS_FLAT_MENU_MODEL must be of the form " "'app_label.model_name'" )): get_flat_menu_model()
from django.contrib.contenttypes.models import ContentType from django.test import TestCase, TransactionTestCase, override_settings, \ modify_settings from django_webtest import WebTest from wagtail.admin.edit_handlers import ObjectList, InlinePanel from wagtail.core.models import Page, Site from wagtailmenus import ( get_flat_menu_model, get_main_menu_model, wagtail_hooks ) from wagtailmenus.panels import ( FlatMenuItemsInlinePanel, MainMenuItemsInlinePanel ) from wagtailmenus.tests.models import LinkPage FlatMenu = get_flat_menu_model() class CMSUsecaseTests(WebTest): # optional: we want some initial data to be able to login fixtures = ['test.json'] base_flatmenu_admin_url = '/admin/wagtailmenus/flatmenu/' base_mainmenu_admin_url = '/admin/wagtailmenus/mainmenu/' def setUp(self): get_user_model().objects._create_user( username='******', email='*****@*****.**', password='******', is_staff=True, is_superuser=True) def test_copy_footer_menu(self):