Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit de0910a

Browse files
refactored some tests from PR django-json-api#310
2 parents b4428d9 + 4b0dcc5 commit de0910a

17 files changed

+139
-159
lines changed

‎docs/usage.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ from rest_framework_json_api.relations import ResourceRelatedField
307307
from myapp.models import Order, LineItem, Customer
308308

309309

310-
class OrderSerializer(serializers.ModelSerializer):
310+
class OrderSerializer(serializers.HyperlinkedModelSerializer):
311311
class Meta:
312312
model = Order
313313

@@ -371,7 +371,7 @@ class LineItemViewSet(viewsets.ModelViewSet):
371371
# unnested '/lineitems' route, the queryset should include all LineItems
372372
if 'order_pk' in self.kwargs:
373373
order_pk = self.kwargs['order_pk']
374-
queryset = queryset.filter(order__pk=order_pk])
374+
queryset = queryset.filter(order__pk=order_pk)
375375

376376
return queryset
377377
```

‎example/serializers.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ def __init__(self, *args, **kwargs):
4444
source='comment_set', many=True, read_only=True)
4545
# many related from serializer
4646
suggested = relations.SerializerMethodResourceRelatedField(
47-
source='get_suggested', model=Entry, many=True, read_only=True)
47+
source='get_suggested', model=Entry, many=True, read_only=True,
48+
related_link_view_name='entry-suggested',
49+
related_link_url_kwarg='entry_pk',
50+
self_link_view_name='entry-relationships',
51+
)
4852
# single related from serializer
4953
featured = relations.SerializerMethodResourceRelatedField(
5054
source='get_featured', model=Entry, read_only=True)

‎example/tests/integration/test_meta.py‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from django.core.urlresolvers import reverse
33

44
import pytest
5-
from example.tests.utils import dump_json, redump_json
5+
from example.tests.utils import load_json
66

77
pytestmark = pytest.mark.django_db
88

@@ -36,10 +36,9 @@ def test_top_level_meta_for_list_view(blog, client):
3636
}
3737

3838
response = client.get(reverse("blog-list"))
39-
content_dump = redump_json(response.content)
40-
expected_dump = dump_json(expected)
39+
parsed_content = load_json(response.content)
4140

42-
assert content_dump == expected_dump
41+
assert expected == parsed_content
4342

4443

4544
def test_top_level_meta_for_detail_view(blog, client):
@@ -64,7 +63,6 @@ def test_top_level_meta_for_detail_view(blog, client):
6463
}
6564

6665
response = client.get(reverse("blog-detail", kwargs={'pk': blog.pk}))
67-
content_dump = redump_json(response.content)
68-
expected_dump = dump_json(expected)
66+
parsed_content = load_json(response.content)
6967

70-
assert content_dump == expected_dump
68+
assert expected == parsed_content

‎example/tests/integration/test_non_paginated_responses.py‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from example.views import EntryViewSet
77
from rest_framework_json_api.pagination import PageNumberPagination
88

9-
from example.tests.utils import dump_json, redump_json
9+
from example.tests.utils import load_json
1010

1111
pytestmark = pytest.mark.django_db
1212

@@ -43,7 +43,11 @@ def test_multiple_entries_no_pagination(multiple_entries, rf):
4343
"data": [{"type": "comments", "id": "1"}]
4444
},
4545
"suggested": {
46-
"data": [{"type": "entries", "id": "2"}]
46+
"data": [{"type": "entries", "id": "2"}],
47+
"links": {
48+
"related": "http://testserver/entries/1/suggested/",
49+
"self": "http://testserver/entries/1/relationships/suggested"
50+
}
4751
}
4852
}
4953
},
@@ -74,7 +78,11 @@ def test_multiple_entries_no_pagination(multiple_entries, rf):
7478
"data": [{"type": "comments", "id": "2"}]
7579
},
7680
"suggested": {
77-
"data": [{"type": "entries", "id": "1"}]
81+
"data": [{"type": "entries", "id": "1"}],
82+
"links": {
83+
"related": "http://testserver/entries/2/suggested/",
84+
"self": "http://testserver/entries/2/relationships/suggested"
85+
}
7886
}
7987
}
8088
},
@@ -93,7 +101,6 @@ class NonPaginatedEntryViewSet(EntryViewSet):
93101
response = view(request)
94102
response.render()
95103

96-
content_dump = redump_json(response.content)
97-
expected_dump = dump_json(expected)
104+
parsed_content = load_json(response.content)
98105

99-
assert content_dump == expected_dump
106+
assert expected == parsed_content

‎example/tests/integration/test_pagination.py‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.core.urlresolvers import reverse
22

33
import pytest
4-
from example.tests.utils import dump_json, redump_json
4+
from example.tests.utils import load_json
55

66
pytestmark = pytest.mark.django_db
77

@@ -37,7 +37,11 @@ def test_pagination_with_single_entry(single_entry, client):
3737
"data": [{"type": "comments", "id": "1"}]
3838
},
3939
"suggested": {
40-
"data": []
40+
"data": [],
41+
"links": {
42+
"related": "http://testserver/entries/1/suggested/",
43+
"self": "http://testserver/entries/1/relationships/suggested"
44+
}
4145
}
4246
}
4347
}],
@@ -59,7 +63,6 @@ def test_pagination_with_single_entry(single_entry, client):
5963
}
6064

6165
response = client.get(reverse("entry-list"))
62-
content_dump = redump_json(response.content)
63-
expected_dump = dump_json(expected)
66+
parsed_content = load_json(response.content)
6467

65-
assert content_dump == expected_dump
68+
assert expected == parsed_content

‎example/tests/test_format_keys.py‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
from django.contrib.auth import get_user_model
22
from django.core.urlresolvers import reverse
3-
from django.conf import settings
43
from django.utils import encoding
54

65
from example.tests import TestBase
7-
from example.tests.utils import dump_json, redump_json
6+
from example.tests.utils import load_json
87

98

109
class FormatKeysSetTests(TestBase):
@@ -53,7 +52,6 @@ def test_camelization(self):
5352
}
5453
}
5554

56-
content_dump = redump_json(response.content)
57-
expected_dump = dump_json(expected)
55+
parsed_content = load_json(response.content)
5856

59-
assert expected_dump == content_dump
57+
assert expected == parsed_content

‎example/tests/test_generic_validation.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from rest_framework.serializers import ValidationError
77

88
from example.tests import TestBase
9-
from example.tests.utils import dump_json, redump_json
9+
from example.tests.utils import load_json
1010

1111

1212
class GenericValidationTest(TestBase):
@@ -34,7 +34,6 @@ def test_generic_validation_error(self):
3434
}]
3535
}
3636

37-
content_dump = redump_json(response.content)
38-
expected_dump = dump_json(expected)
37+
parsed_content = load_json(response.content)
3938

40-
assert expected_dump == content_dump
39+
assert expected == parsed_content

‎example/tests/test_generic_viewset.py‎

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from django.conf import settings
55

66
from example.tests import TestBase
7-
from example.tests.utils import dump_json, redump_json
7+
from example.tests.utils import load_json
88

99

1010
class GenericViewSet(TestBase):
@@ -38,10 +38,9 @@ def test_default_rest_framework_behavior(self):
3838
'email': 'miles@example.com'
3939
}
4040

41-
content_dump = redump_json(response.content)
42-
expected_dump = dump_json(expected)
41+
parsed_content = load_json(response.content)
4342

44-
assert expected_dump == content_dump
43+
assert expected == parsed_content
4544

4645

4746
def test_ember_expected_renderer(self):
@@ -66,10 +65,9 @@ def test_ember_expected_renderer(self):
6665
}
6766
}
6867

69-
content_dump = redump_json(response.content)
70-
expected_dump = dump_json(expected)
68+
parsed_content = load_json(response.content)
7169

72-
assert expected_dump == content_dump
70+
assert expected == parsed_content
7371

7472
def test_default_validation_exceptions(self):
7573
"""
@@ -96,10 +94,9 @@ def test_default_validation_exceptions(self):
9694
response = self.client.post('/identities', {
9795
'email': 'bar', 'first_name': 'alajflajaljalajlfjafljalj'})
9896

99-
content_dump = redump_json(response.content)
100-
expected_dump = dump_json(expected)
97+
parsed_content = load_json(response.content)
10198

102-
assert expected_dump == content_dump
99+
assert expected == parsed_content
103100

104101
def test_custom_validation_exceptions(self):
105102
"""
@@ -124,7 +121,6 @@ def test_custom_validation_exceptions(self):
124121
response = self.client.post('/identities', {
125122
'email': 'bar', 'last_name': 'alajflajaljalajlfjafljalj'})
126123

127-
content_dump = redump_json(response.content)
128-
expected_dump = dump_json(expected)
124+
parsed_content = load_json(response.content)
129125

130-
assert expected_dump == content_dump
126+
assert expected == parsed_content

‎example/tests/test_model_viewsets.py‎

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from django.conf import settings
77

88
from example.tests import TestBase
9-
from example.tests.utils import dump_json, redump_json
9+
from example.tests.utils import dump_json, load_json
1010

1111

1212
class ModelViewSetTests(TestBase):
@@ -64,10 +64,9 @@ def test_key_in_list_result(self):
6464
}
6565
}
6666

67-
content_dump = redump_json(response.content)
68-
expected_dump = dump_json(expected)
67+
parsed_content = load_json(response.content)
6968

70-
assert expected_dump == content_dump
69+
assert expected == parsed_content
7170

7271
def test_page_two_in_list_result(self):
7372
"""
@@ -104,10 +103,9 @@ def test_page_two_in_list_result(self):
104103
}
105104
}
106105

107-
content_dump = redump_json(response.content)
108-
expected_dump = dump_json(expected)
106+
parsed_content = load_json(response.content)
109107

110-
assert expected_dump == content_dump
108+
assert expected == parsed_content
111109

112110
def test_page_range_in_list_result(self):
113111
"""
@@ -155,10 +153,9 @@ def test_page_range_in_list_result(self):
155153
}
156154
}
157155

158-
content_dump = redump_json(response.content)
159-
expected_dump = dump_json(expected)
156+
parsed_content = load_json(response.content)
160157

161-
assert expected_dump == content_dump
158+
assert expected == parsed_content
162159

163160
def test_key_in_detail_result(self):
164161
"""
@@ -179,10 +176,9 @@ def test_key_in_detail_result(self):
179176
}
180177
}
181178

182-
content_dump = redump_json(response.content)
183-
expected_dump = dump_json(expected)
179+
parsed_content = load_json(response.content)
184180

185-
assert expected_dump == content_dump
181+
assert expected == parsed_content
186182

187183
def test_patch_requires_id(self):
188184
"""
@@ -224,10 +220,9 @@ def test_key_in_post(self):
224220
content_type='application/vnd.api+json',
225221
data=dump_json(data))
226222

227-
content_dump = redump_json(response.content)
228-
expected_dump = dump_json(data)
223+
parsed_content = load_json(response.content)
229224

230-
assert expected_dump == content_dump
225+
assert data == parsed_content
231226

232227
# is it updated?
233228
self.assertEqual(

‎example/tests/test_parsers.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<<<<<<< HEAD
12
# import json
23
#
34
# from django.test import TestCase
@@ -35,4 +36,4 @@
3536
# stream = BytesIO(self.string.encode('utf-8'))
3637
# data = parser.parse(stream, None, self.parser_context)
3738
#
38-
# self.assertEqual(data['_meta'], {'random_key': 'random_value'})
39+
# self.assertEqual(data['_meta'], {'random_key': 'random_value'})

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /