diff options
| author | James Rutherford | 2015-03-11 10:38:03 +0000 | 
|---|---|---|
| committer | James Rutherford | 2015-03-11 10:38:03 +0000 | 
| commit | 4a2d27975ab5249269aebafd803be87a2107092b (patch) | |
| tree | 55b524c93b02eef404304f734be98871bbb1324f /tests/test_viewsets.py | |
| parent | 856dc855c952746f566a6a8de263afe951362dfb (diff) | |
| parent | dc56e5a0f41fdd6350e91a5749023d086bd1640f (diff) | |
| download | django-rest-framework-4a2d27975ab5249269aebafd803be87a2107092b.tar.bz2 | |
Merge pull request #1 from tomchristie/master
Merge in from upstream
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.") | 
