Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
18590a15
Commit
18590a15
authored
Dec 29, 2012
by
Tom Christie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add test for hyperlinked reverse FK create. Refs #511
parent
0176fab4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
18 deletions
+17
-18
rest_framework/tests/relations_hyperlink.py
+17
-18
No files found.
rest_framework/tests/relations_hyperlink.py
View file @
18590a15
...
...
@@ -51,7 +51,7 @@ class ForeignKeySource(models.Model):
class
ForeignKeyTargetSerializer
(
serializers
.
HyperlinkedModelSerializer
):
sources
=
serializers
.
ManyHyperlinkedRelatedField
(
view_name
=
'foreignkeysource-detail'
,
read_only
=
True
)
sources
=
serializers
.
ManyHyperlinkedRelatedField
(
view_name
=
'foreignkeysource-detail'
)
class
Meta
:
model
=
ForeignKeyTarget
...
...
@@ -253,24 +253,23 @@ class HyperlinkedForeignKeyTests(TestCase):
]
self
.
assertEquals
(
serializer
.
data
,
expected
)
# TODO: Check this - is this a bug or is the test incorrect?
# def test_reverse_foreign_key_create(self):
# data = {'url': '/foreignkeytarget/3/', 'name': u'target-3', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']}
# serializer = ForeignKeyTargetSerializer(data=data)
# self.assertTrue(serializer.is_valid())
# obj = serializer.save()
# self.assertEquals(serializer.data, data)
# self.assertEqual(obj.name, u'target-3')
def
test_reverse_foreign_key_create
(
self
):
data
=
{
'url'
:
'/foreignkeytarget/3/'
,
'name'
:
u'target-3'
,
'sources'
:
[
'/foreignkeysource/1/'
,
'/foreignkeysource/3/'
]}
serializer
=
ForeignKeyTargetSerializer
(
data
=
data
)
self
.
assertTrue
(
serializer
.
is_valid
())
obj
=
serializer
.
save
()
self
.
assertEquals
(
serializer
.
data
,
data
)
self
.
assertEqual
(
obj
.
name
,
u'target-3'
)
#
# Ensure target 4 is added, and everything else is as expected
#
queryset = ForeignKeyTarget.objects.all()
#
serializer = ForeignKeyTargetSerializer(queryset)
#
expected = [
#
{'url': '/foreignkeytarget/1/', 'name': u'target-1', 'sources': ['/foreignkeysource/2/']},
#
{'url': '/foreignkeytarget/2/', 'name': u'target-2', 'sources': []},
#
{'url': '/foreignkeytarget/3/', 'name': u'target-3', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']},
#
]
#
self.assertEquals(serializer.data, expected)
# Ensure target 4 is added, and everything else is as expected
queryset
=
ForeignKeyTarget
.
objects
.
all
()
serializer
=
ForeignKeyTargetSerializer
(
queryset
)
expected
=
[
{
'url'
:
'/foreignkeytarget/1/'
,
'name'
:
u'target-1'
,
'sources'
:
[
'/foreignkeysource/2/'
]},
{
'url'
:
'/foreignkeytarget/2/'
,
'name'
:
u'target-2'
,
'sources'
:
[]},
{
'url'
:
'/foreignkeytarget/3/'
,
'name'
:
u'target-3'
,
'sources'
:
[
'/foreignkeysource/1/'
,
'/foreignkeysource/3/'
]},
]
self
.
assertEquals
(
serializer
.
data
,
expected
)
def
test_foreign_key_update_with_invalid_null
(
self
):
data
=
{
'url'
:
'/foreignkeysource/1/'
,
'name'
:
u'source-1'
,
'target'
:
None
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment