aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_routers.py
diff options
context:
space:
mode:
authorMarek Skrajnowski2014-09-11 12:42:36 +0200
committerMarek Skrajnowski2014-09-11 12:42:36 +0200
commitae8443853054635326598f6b06fb49429884d558 (patch)
treea533cbaf9c1c1ef9e7bafd8b591f6802d69bf553 /tests/test_routers.py
parent293728579070d802342bd92fa164e8dc0f0a7990 (diff)
downloaddjango-rest-framework-ae8443853054635326598f6b06fb49429884d558.tar.bz2
Added DefaultRouter support (and test) for viewsets without the default action implemented, which is usually the list action.
Diffstat (limited to 'tests/test_routers.py')
-rw-r--r--tests/test_routers.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/test_routers.py b/tests/test_routers.py
index b076f134..f6f5a977 100644
--- a/tests/test_routers.py
+++ b/tests/test_routers.py
@@ -3,7 +3,7 @@ from django.conf.urls import patterns, url, include
from django.db import models
from django.test import TestCase
from django.core.exceptions import ImproperlyConfigured
-from rest_framework import serializers, viewsets, permissions
+from rest_framework import serializers, viewsets, mixins, permissions
from rest_framework.decorators import detail_route, list_route
from rest_framework.response import Response
from rest_framework.routers import SimpleRouter, DefaultRouter
@@ -284,3 +284,19 @@ class TestDynamicListAndDetailRouter(TestCase):
else:
method_map = 'get'
self.assertEqual(route.mapping[method_map], endpoint)
+
+
+class TestRootWithAListlessViewset(TestCase):
+ def setUp(self):
+ class NoteViewSet(mixins.RetrieveModelMixin,
+ viewsets.GenericViewSet):
+ model = RouterTestModel
+
+ self.router = DefaultRouter()
+ self.router.register(r'notes', NoteViewSet)
+ self.view = self.router.urls[0].callback
+
+ def test_api_root(self):
+ request = factory.get('/')
+ response = self.view(request)
+ self.assertEqual(response.data, {})