1
1
import pytest
2
- from django .utils import six
3
2
from django .conf import settings
4
3
from django .contrib .auth import get_user_model
4
+ from django .utils import six
5
5
from rest_framework import serializers
6
+ from rest_framework .generics import GenericAPIView
6
7
from rest_framework .response import Response
7
8
from rest_framework .views import APIView
8
9
9
- from rest_framework_json_api import utils
10
10
from example .serializers import (EntrySerializer , BlogSerializer ,
11
11
AuthorSerializer , CommentSerializer )
12
+ from rest_framework_json_api import utils
12
13
from rest_framework_json_api .utils import get_included_serializers
13
14
14
15
pytestmark = pytest .mark .django_db
15
16
16
17
17
- class ResourceView (APIView ):
18
- pass
19
-
20
-
21
18
class ResourceSerializer (serializers .ModelSerializer ):
22
- class Meta () :
19
+ class Meta :
23
20
fields = ('username' ,)
24
21
model = get_user_model ()
25
22
26
23
27
24
def test_get_resource_name ():
28
- view = ResourceView ()
25
+ view = APIView ()
29
26
context = {'view' : view }
30
27
setattr (settings , 'JSON_API_FORMAT_RELATION_KEYS' , None )
31
- assert 'ResourceViews ' == utils .get_resource_name (context ), 'not formatted'
28
+ assert 'APIViews ' == utils .get_resource_name (context ), 'not formatted'
32
29
33
- view = ResourceView ()
34
30
context = {'view' : view }
35
31
setattr (settings , 'JSON_API_FORMAT_RELATION_KEYS' , 'dasherize' )
36
- assert 'resource -views' == utils .get_resource_name (context ), 'derived from view'
32
+ assert 'api -views' == utils .get_resource_name (context ), 'derived from view'
37
33
38
34
view .model = get_user_model ()
39
35
assert 'users' == utils .get_resource_name (context ), 'derived from view model'
@@ -47,9 +43,9 @@ def test_get_resource_name():
47
43
view .response = Response (status = 500 )
48
44
assert 'errors' == utils .get_resource_name (context ), 'handles 500 error'
49
45
50
- view = ResourceView ()
51
- context = {'view' : view }
46
+ view = GenericAPIView ()
52
47
view .serializer_class = ResourceSerializer
48
+ context = {'view' : view }
53
49
assert 'users' == utils .get_resource_name (context ), 'derived from serializer'
54
50
55
51
view .serializer_class .Meta .resource_name = 'rcustom'
@@ -90,28 +86,6 @@ def test_format_relation_name():
90
86
assert utils .format_relation_name ('first_name' , 'camelize' ) == 'firstNames'
91
87
92
88
93
- def test_build_json_resource_obj ():
94
- resource = {
95
- 'pk' : 1 ,
96
- 'username' : 'Alice' ,
97
- }
98
-
99
- serializer = ResourceSerializer (data = {'username' : 'Alice' })
100
- serializer .is_valid ()
101
- resource_instance = serializer .save ()
102
-
103
- output = {
104
- 'type' : 'user' ,
105
- 'id' : '1' ,
106
- 'attributes' : {
107
- 'username' : 'Alice'
108
- },
109
- }
110
-
111
- assert utils .build_json_resource_obj (
112
- serializer .fields , resource , resource_instance , 'user' ) == output
113
-
114
-
115
89
class SerializerWithIncludedSerializers (EntrySerializer ):
116
90
included_serializers = {
117
91
'blog' : BlogSerializer ,
0 commit comments