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
     )
Example #2
0
 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
     )
Example #3
0
 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()
Example #4
0
 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()
Example #5
0
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)
Example #6
0
 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()
Example #7
0
 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()
Example #8
0
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):