|
1 | 1 | from __future__ import absolute_import
|
2 | 2 |
|
| 3 | +import pytest |
3 | 4 | from django.utils import timezone
|
4 | 5 | from rest_framework.reverse import reverse
|
5 | 6 |
|
| 7 | +from rest_framework_json_api.settings import JSONAPISettings |
6 | 8 | from . import TestBase
|
7 | 9 | from example.models import Author, Blog, Comment, Entry
|
8 | 10 | from django.test import override_settings
|
9 | 11 |
|
10 | 12 |
|
11 |
| -class TestResourceRelatedField(TestBase): |
| 13 | +class TestRenderingStrategy(TestBase): |
12 | 14 | list_url = reverse('authors-nested-list')
|
13 | 15 |
|
14 | 16 | def setUp(self):
|
15 |
| - super(TestResourceRelatedField, self).setUp() |
| 17 | + super(TestRenderingStrategy, self).setUp() |
16 | 18 | self.blog = Blog.objects.create(name='Some Blog', tagline="It's a blog")
|
17 | 19 | self.entry = Entry.objects.create(
|
18 | 20 | blog=self.blog,
|
@@ -76,3 +78,16 @@ def test_attribute_rendering_strategy(self):
|
76 | 78 | }
|
77 | 79 | }
|
78 | 80 | assert expected == response.json()
|
| 81 | + |
| 82 | + |
| 83 | +class TestRenderingStrategySettings(TestBase): |
| 84 | + |
| 85 | + def test_deprecation(self): |
| 86 | + with pytest.deprecated_call(): |
| 87 | + JSONAPISettings() |
| 88 | + |
| 89 | + def test_invalid_strategy(self): |
| 90 | + class Settings: |
| 91 | + JSON_API_NESTED_SERIALIZERS_RENDERING_STRATEGY = 'SOME_INVALID_STRATEGY' |
| 92 | + with pytest.raises(AttributeError): |
| 93 | + JSONAPISettings(user_settings=Settings()) |
0 commit comments