feat: add personalized navigation and tenant filtering

This commit is contained in:
2026-07-28 16:40:50 +02:00
commit 54f6a3f6c9
27 changed files with 1142 additions and 0 deletions
@@ -0,0 +1,21 @@
from django.test import SimpleTestCase
from netbox_utilities.navigation_helpers import normalize_preferences
class NormalizePreferencesTest(SimpleTestCase):
def test_removes_unknown_and_duplicate_keys(self):
order, hidden = normalize_preferences(
["devices", "unknown", "devices"],
["ipam", "unknown", "ipam"],
["organization", "devices", "ipam"],
)
self.assertEqual(order, ["devices", "organization", "ipam"])
self.assertEqual(hidden, ["ipam"])
def test_new_menus_are_appended(self):
order, hidden = normalize_preferences(["devices"], [], ["devices", "vpn"])
self.assertEqual(order, ["devices", "vpn"])
self.assertEqual(hidden, [])