Skip to content

Commit b789106

Browse files
committed
Test decorated extra action
1 parent d985c7c commit b789106

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

tests/test_viewsets.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ class Action(models.Model):
3333
pass
3434

3535

36+
def decorate(fn):
37+
def wrapper(self, request, *args, **kwargs):
38+
return fn(self, request, *args, **kwargs)
39+
return wrapper
40+
41+
3642
class ActionViewSet(GenericViewSet):
3743
queryset = Action.objects.all()
3844

@@ -62,6 +68,11 @@ def custom_detail_action(self, request, *args, **kwargs):
6268
def unresolvable_detail_action(self, request, *args, **kwargs):
6369
raise NotImplementedError
6470

71+
@action(detail=False)
72+
@decorate
73+
def wrapped(self, request, *args, **kwargs):
74+
raise NotImplementedError
75+
6576

6677
class ActionNamesViewSet(GenericViewSet):
6778

@@ -157,6 +168,7 @@ def test_extra_actions(self):
157168
'detail_action',
158169
'list_action',
159170
'unresolvable_detail_action',
171+
'wrapped',
160172
]
161173

162174
self.assertEqual(actual, expected)
@@ -172,6 +184,7 @@ def test_list_view(self):
172184
expected = OrderedDict([
173185
('Custom list action', 'http://testserver/api/actions/custom_list_action/'),
174186
('List action', 'http://testserver/api/actions/list_action/'),
187+
('Wrapped', 'http://testserver/api/actions/wrapped/'),
175188
])
176189

177190
self.assertEqual(view.get_extra_action_url_map(), expected)

0 commit comments

Comments
 (0)