mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-03 12:00:12 +03:00
Add tests for hyperlink serializer+namespaced urls
This commit is contained in:
parent
ec7f358010
commit
1de241d9bf
|
@ -1,6 +1,6 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import include, url
|
||||||
from django.test import TestCase, override_settings
|
from django.test import TestCase, override_settings
|
||||||
|
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
@ -449,3 +449,39 @@ class HyperlinkedNullableOneToOneTests(TestCase):
|
||||||
{'url': 'http://testserver/onetoonetarget/2/', 'name': 'target-2', 'nullable_source': None},
|
{'url': 'http://testserver/onetoonetarget/2/', 'name': 'target-2', 'nullable_source': None},
|
||||||
]
|
]
|
||||||
assert serializer.data == expected
|
assert serializer.data == expected
|
||||||
|
|
||||||
|
|
||||||
|
class HyperlinkedNamespaceTests(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
target = ForeignKeyTarget(name='target-1')
|
||||||
|
target.save()
|
||||||
|
new_target = ForeignKeyTarget(name='target-2')
|
||||||
|
new_target.save()
|
||||||
|
for idx in range(1, 4):
|
||||||
|
source = ForeignKeySource(name='source-%d' % idx, target=target)
|
||||||
|
source.save()
|
||||||
|
|
||||||
|
def results(self):
|
||||||
|
queryset = ForeignKeySource.objects.all()
|
||||||
|
serializer = ForeignKeySourceSerializer(queryset, many=True, context={'request': request})
|
||||||
|
expected = [
|
||||||
|
{'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'},
|
||||||
|
{'url': 'http://testserver/foreignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'},
|
||||||
|
{'url': 'http://testserver/foreignkeysource/3/', 'name': 'source-3', 'target': 'http://testserver/foreignkeytarget/1/'}
|
||||||
|
]
|
||||||
|
with self.assertNumQueries(1):
|
||||||
|
assert serializer.data == expected
|
||||||
|
|
||||||
|
def test_foreign_key_retrieve_no_namespace(self):
|
||||||
|
patterns = [
|
||||||
|
url(r'^', include(urlpatterns, namespace=None))
|
||||||
|
]
|
||||||
|
with override_settings(ROOT_URLCONF=patterns):
|
||||||
|
self.results()
|
||||||
|
|
||||||
|
def test_foreign_key_retrieve_namespace(self):
|
||||||
|
patterns = [
|
||||||
|
url(r'^', include(urlpatterns, namespace='api'))
|
||||||
|
]
|
||||||
|
with override_settings(ROOT_URLCONF=patterns):
|
||||||
|
self.results()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user