Skip to content
Snippets Groups Projects
Verified Commit 5d9de292 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add tests for related_views

Move catch-all URL pattern to bottom; it was actually shadowing all
other patterns.
parent 20b28c69
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,7 @@ from django.core.exceptions import ImproperlyConfigured ...@@ -2,6 +2,7 @@ from django.core.exceptions import ImproperlyConfigured
from django.http import HttpRequest from django.http import HttpRequest
from django.test import TestCase from django.test import TestCase
from .urls import testview
from .utils import TestUser, is_main_site, is_paid_user from .utils import TestUser, is_main_site, is_paid_user
from ..menu import MenuBase from ..menu import MenuBase
from ..templatetags.menu_generator import get_menu from ..templatetags.menu_generator import get_menu
...@@ -306,3 +307,48 @@ class MenuTestCase(TestCase): ...@@ -306,3 +307,48 @@ class MenuTestCase(TestCase):
self.assertEqual(nav[0]["selected"], True) self.assertEqual(nav[0]["selected"], True)
self.assertEqual(nav[0]["submenu"][0]["selected"], True) self.assertEqual(nav[0]["submenu"][0]["selected"], True)
self.assertEqual(nav[0]["submenu"][1]["selected"], False) self.assertEqual(nav[0]["submenu"][1]["selected"], False)
def test_generate_menu_selected_related_views_simple(self):
self.request.user = TestUser(authenticated=True)
self.request.path = "/known-view/"
self.menu.save_user_state(self.request)
list_dict = [
{
"name": "parent1",
"url": "/user/account/",
"related_views": [testview],
}
]
nav = self.menu.generate_menu(list_dict)
self.assertEqual(len(nav), 1)
self.assertEqual(nav[0]["selected"], True)
def test_generate_menu_selected_related_views_submenu(self):
self.request.user = TestUser(authenticated=True)
self.request.path = "/known-view/"
self.menu.save_user_state(self.request)
list_dict = [
{
"name": "parent1",
"url": "/user/account/",
"submenu": [
{
"name": "child1",
"url": '/user/account/profile/',
"related_views": [testview]
},
{
"name": "child2",
"url": 'named_url',
"related_views": []
},
],
}
]
nav = self.menu.generate_menu(list_dict)
self.assertEqual(len(nav), 1)
self.assertEqual(nav[0]["selected"], True)
self.assertEqual(nav[0]["submenu"][0]["selected"], True)
self.assertEqual(nav[0]["submenu"][1]["selected"], False)
from django.conf.urls import url from django.conf.urls import url
def testview(request):
return 'foo'
urlpatterns = [ urlpatterns = [
url('', lambda: 'foo'), url(r'named-url', lambda: 'foo', name='named_url'),
url('named-url', lambda: 'foo', name='named_url'), url(r'named-with-params/(?P<pk>\d+)/', lambda: 'foo', name='named_with_params'),
url('named-with-params/(?P<pk>\d+)/', lambda: 'foo', name='named_with_params') url(r'known-view', testview, name='known_view'),
url(r'', lambda: 'foo'),
] ]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment