Skip to content

Commit 3539739

Browse files
committed
Added test for SerializerMethodResourceRelatedField with many=True
1 parent 9fd42be commit 3539739

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

example/serializers.py

+5-1
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_non_paginated_responses.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -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
},

example/tests/integration/test_pagination.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -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
}],

example/urls_test.py

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
GenericIdentity.as_view(), name='user-default'),
2424

2525

26+
url(r'^entries/(?P<entry_pk>[^/.]+)/suggested/',
27+
EntryViewSet.as_view({'get': 'list'}),
28+
name='entry-suggested'
29+
),
2630
url(r'^entries/(?P<pk>[^/.]+)/relationships/(?P<related_field>\w+)',
2731
EntryRelationshipView.as_view(),
2832
name='entry-relationships'),

0 commit comments

Comments
 (0)