mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add test for plugin menu registration
This commit is contained in:
@ -204,7 +204,7 @@ def register_template_extensions(class_list):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class PluginMenu:
|
class PluginMenu:
|
||||||
icon_class = 'mdi-puzzle'
|
icon_class = 'mdi mdi-puzzle'
|
||||||
|
|
||||||
def __init__(self, label, groups, icon_class=None):
|
def __init__(self, label, groups, icon_class=None):
|
||||||
self.label = label
|
self.label = label
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from extras.plugins import PluginMenuButton, PluginMenuItem
|
from extras.plugins import PluginMenu, PluginMenuButton, PluginMenuItem
|
||||||
|
|
||||||
|
|
||||||
menu_items = (
|
items = (
|
||||||
PluginMenuItem(
|
PluginMenuItem(
|
||||||
link='plugins:dummy_plugin:dummy_models',
|
link='plugins:dummy_plugin:dummy_models',
|
||||||
link_text='Item 1',
|
link_text='Item 1',
|
||||||
@ -23,3 +23,9 @@ menu_items = (
|
|||||||
link_text='Item 2',
|
link_text='Item 2',
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
menu = PluginMenu(
|
||||||
|
label='Dummy',
|
||||||
|
groups=(('Group 1', items),),
|
||||||
|
)
|
||||||
|
menu_items = items
|
||||||
|
@ -5,6 +5,7 @@ from django.core.exceptions import ImproperlyConfigured
|
|||||||
from django.test import Client, TestCase, override_settings
|
from django.test import Client, TestCase, override_settings
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
|
from extras.plugins import PluginMenu
|
||||||
from extras.registry import registry
|
from extras.registry import registry
|
||||||
from extras.tests.dummy_plugin import config as dummy_config
|
from extras.tests.dummy_plugin import config as dummy_config
|
||||||
from netbox.graphql.schema import Query
|
from netbox.graphql.schema import Query
|
||||||
@ -58,9 +59,17 @@ class PluginTest(TestCase):
|
|||||||
response = client.get(url)
|
response = client.get(url)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
|
def test_menu(self):
|
||||||
|
"""
|
||||||
|
Check menu registration.
|
||||||
|
"""
|
||||||
|
menu = registry['plugins']['menus'][0]
|
||||||
|
self.assertIsInstance(menu, PluginMenu)
|
||||||
|
self.assertEqual(menu.label, 'Dummy')
|
||||||
|
|
||||||
def test_menu_items(self):
|
def test_menu_items(self):
|
||||||
"""
|
"""
|
||||||
Check that plugin MenuItems and MenuButtons are registered.
|
Check menu_items registration.
|
||||||
"""
|
"""
|
||||||
self.assertIn('Dummy plugin', registry['plugins']['menu_items'])
|
self.assertIn('Dummy plugin', registry['plugins']['menu_items'])
|
||||||
menu_items = registry['plugins']['menu_items']['Dummy plugin']
|
menu_items = registry['plugins']['menu_items']['Dummy plugin']
|
||||||
|
Reference in New Issue
Block a user