Skip to content

Commit 75a7583

Browse files
nyborgtGabDug
authored andcommitted
test for callable url
1 parent 9a5e0d1 commit 75a7583

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

simple_menu/tests/test_menu.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ def kids3_2_title(request):
3939
return "-".join([request.path, self.kids3_2_desired_title])
4040
return 'kids3-2'
4141

42+
self.kids3_2_desired_url = None
43+
def kids3_2_url(request):
44+
"Allow the url of kids3-2 to be changed"
45+
if self.kids3_2_desired_url is not None:
46+
return '/'.join([request.path, self.kids3_2_desired_url])
47+
return '/parent3/kids3-2'
48+
4249
def kids2_2_check(request):
4350
"Hide kids2-2 whenever the request path ends with /hidden"
4451
if request.path.endswith('/hidden'):
@@ -66,7 +73,7 @@ def kids3_1(request):
6673

6774
kids3 = (
6875
CustomMenuItem("kids3-1", "/parent3/kids3-1", children=kids3_1, slug="salty"),
69-
CustomMenuItem(kids3_2_title, "/parent3/kids3-2")
76+
CustomMenuItem(kids3_2_title, kids3_2_url)
7077
)
7178

7279
Menu.items = {}
@@ -161,6 +168,15 @@ def test_callable_title(self):
161168
items = Menu.process(request, 'test')
162169
self.assertEqual(items[1].children[1].title, "/parent3-fun")
163170

171+
def test_callable_url(self):
172+
"""
173+
Ensure callable urls work
174+
"""
175+
self.kids3_2_desired_url = "custom"
176+
request = self.factory.get('/parent3')
177+
items = Menu.process(request, 'test')
178+
self.assertEqual(items[1].children[1].url, "/parent3/custom")
179+
164180
def test_select_parents(self):
165181
"""
166182
Ensure the MENU_SELECT_PARENTS setting works

0 commit comments

Comments
 (0)