diff options
| author | Carlton Gibson | 2014-12-04 11:59:52 +0100 |
|---|---|---|
| committer | Carlton Gibson | 2014-12-04 11:59:52 +0100 |
| commit | b8f396bce83d768676b22a7d0ff2455665297541 (patch) | |
| tree | 5fab017db281948eecf54d9dd8d5f0a8b323fa77 /tests/test_viewsets.py | |
| parent | ef26f43de4a0c9ac3081c06a383b5d3d4d007797 (diff) | |
| parent | e8cbf41bd9066a21bf102bb60fbb42b4b15e05f6 (diff) | |
| download | django-rest-framework-b8f396bce83d768676b22a7d0ff2455665297541.tar.bz2 | |
Merge branch 'master' of github.com:tomchristie/django-rest-framework
Diffstat (limited to 'tests/test_viewsets.py')
| -rw-r--r-- | tests/test_viewsets.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_viewsets.py b/tests/test_viewsets.py new file mode 100644 index 00000000..4d18a955 --- /dev/null +++ b/tests/test_viewsets.py @@ -0,0 +1,35 @@ +from django.test import TestCase +from rest_framework import status +from rest_framework.response import Response +from rest_framework.test import APIRequestFactory +from rest_framework.viewsets import GenericViewSet + + +factory = APIRequestFactory() + + +class BasicViewSet(GenericViewSet): + def list(self, request, *args, **kwargs): + return Response({'ACTION': 'LIST'}) + + +class InitializeViewSetsTestCase(TestCase): + def test_initialize_view_set_with_actions(self): + request = factory.get('/', '', content_type='application/json') + my_view = BasicViewSet.as_view(actions={ + 'get': 'list', + }) + + response = my_view(request) + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data, {'ACTION': 'LIST'}) + + def test_initialize_view_set_with_empty_actions(self): + try: + BasicViewSet.as_view() + except TypeError as e: + self.assertEqual(str(e), "The `actions` argument must be provided " + "when calling `.as_view()` on a ViewSet. " + "For example `.as_view({'get': 'list'})`") + else: + self.fail("actions must not be empty.") |
