def test_main_menu_models_correct(self): self.assertEqual(get_main_menu_model(), MainMenu) menu_obj = get_main_menu_model().objects.first() self.assertEqual( menu_obj.get_menu_items_manager().model, MainMenuCustomMenuItem )
def test_invalid_main_menu_items_related_name(self): with self.assertRaisesMessage( ImproperlyConfigured, ("'invalid_related_name' isn't a valid relationship name for " "accessing menu items from MainMenu.")): menu = get_main_menu_model().objects.get(id=1) menu.get_menu_items_manager()
def test_invalid_main_menu_items_related_name(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "'invalid_related_name' isn't a valid relationship name for " "accessing menu items from MainMenu. Check that your " "`WAGTAILMENUS_MAIN_MENU_ITEMS_RELATED_NAME` setting matches the " "`related_name` used on your MenuItem model's `ParentalKey` field." )): menu = get_main_menu_model().objects.get(id=1) menu.get_menu_items_manager()
def test_mainmenu_edit(self): response = self.client.get('/admin/wagtailmenus/mainmenu/edit/1/') # Test 'get_error_message' method on view for additional coverage view = response.context['view'] self.assertTrue(view.get_error_message()) menu_model = get_main_menu_model() # Set 'panels' attribute on menu model to increase coverage for # MenuTabbedInterfaceMixin.get_edit_handler_class() menu_model.panels = menu_model.content_panels response = self.client.get('/admin/wagtailmenus/mainmenu/edit/1/') # Set 'edit_handler' attribute on menu model to increase coverage for # MenuTabbedInterfaceMixin.get_edit_handler_class() menu_model.edit_handler = ObjectList(menu_model.content_panels) response = self.client.get('/admin/wagtailmenus/mainmenu/edit/1/')
def test_main_menu_no_existent(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "WAGTAILMENUS_MAIN_MENU_MODEL refers to model " "'tests.NonExistentMainMenu' that has not been installed" )): get_main_menu_model()
def test_main_menu_invalid_format(self): with self.assertRaisesMessage(ImproperlyConfigured, ( "WAGTAILMENUS_MAIN_MENU_MODEL must be of the form " "'app_label.model_name'" )): get_main_menu_model()