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
aa481826
Commit
aa481826
authored
Sep 07, 2015
by
Xavier Ordoquy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add test coverage on allow_empty for nested serializers.
parent
4404d40f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
4 deletions
+46
-4
tests/test_serializer_nested.py
+46
-4
No files found.
tests/test_serializer_nested.py
View file @
aa481826
...
@@ -79,17 +79,23 @@ class TestNestedSerializerWithMany:
...
@@ -79,17 +79,23 @@ class TestNestedSerializerWithMany:
class
TestSerializer
(
serializers
.
Serializer
):
class
TestSerializer
(
serializers
.
Serializer
):
allow_null
=
NestedSerializer
(
many
=
True
,
allow_null
=
True
)
allow_null
=
NestedSerializer
(
many
=
True
,
allow_null
=
True
)
not_allow_null
=
NestedSerializer
(
many
=
True
)
not_allow_null
=
NestedSerializer
(
many
=
True
)
allow_empty
=
NestedSerializer
(
many
=
True
,
allow_empty
=
True
)
not_allow_empty
=
NestedSerializer
(
many
=
True
,
allow_empty
=
False
)
self
.
Serializer
=
TestSerializer
self
.
Serializer
=
TestSerializer
def
test_null_allowed_if_allow_null_is_set
(
self
):
def
test_null_allowed_if_allow_null_is_set
(
self
):
input_data
=
{
input_data
=
{
'allow_null'
:
None
,
'allow_null'
:
None
,
'not_allow_null'
:
[{
'example'
:
'2'
},
{
'example'
:
'3'
}]
'not_allow_null'
:
[{
'example'
:
'2'
},
{
'example'
:
'3'
}],
'allow_empty'
:
[{
'example'
:
'2'
}],
'not_allow_empty'
:
[{
'example'
:
'2'
}],
}
}
expected_data
=
{
expected_data
=
{
'allow_null'
:
None
,
'allow_null'
:
None
,
'not_allow_null'
:
[{
'example'
:
2
},
{
'example'
:
3
}]
'not_allow_null'
:
[{
'example'
:
2
},
{
'example'
:
3
}],
'allow_empty'
:
[{
'example'
:
2
}],
'not_allow_empty'
:
[{
'example'
:
2
}],
}
}
serializer
=
self
.
Serializer
(
data
=
input_data
)
serializer
=
self
.
Serializer
(
data
=
input_data
)
...
@@ -99,7 +105,9 @@ class TestNestedSerializerWithMany:
...
@@ -99,7 +105,9 @@ class TestNestedSerializerWithMany:
def
test_null_is_not_allowed_if_allow_null_is_not_set
(
self
):
def
test_null_is_not_allowed_if_allow_null_is_not_set
(
self
):
input_data
=
{
input_data
=
{
'allow_null'
:
None
,
'allow_null'
:
None
,
'not_allow_null'
:
None
'not_allow_null'
:
None
,
'allow_empty'
:
[{
'example'
:
'2'
}],
'not_allow_empty'
:
[{
'example'
:
'2'
}],
}
}
serializer
=
self
.
Serializer
(
data
=
input_data
)
serializer
=
self
.
Serializer
(
data
=
input_data
)
...
@@ -118,10 +126,44 @@ class TestNestedSerializerWithMany:
...
@@ -118,10 +126,44 @@ class TestNestedSerializerWithMany:
input_data
=
{
input_data
=
{
'allow_null'
:
None
,
'allow_null'
:
None
,
'not_allow_null'
:
[{
'example'
:
2
}]
'not_allow_null'
:
[{
'example'
:
2
}],
'allow_empty'
:
[{
'example'
:
2
}],
'not_allow_empty'
:
[{
'example'
:
2
}],
}
}
serializer
=
TestSerializer
(
data
=
input_data
)
serializer
=
TestSerializer
(
data
=
input_data
)
assert
serializer
.
is_valid
()
assert
serializer
.
is_valid
()
assert
serializer
.
validated_data
==
input_data
assert
serializer
.
validated_data
==
input_data
assert
TestSerializer
.
validation_was_run
assert
TestSerializer
.
validation_was_run
def
test_empty_allowed_if_allow_empty_is_set
(
self
):
input_data
=
{
'allow_null'
:
[{
'example'
:
'2'
}],
'not_allow_null'
:
[{
'example'
:
'2'
}],
'allow_empty'
:
[],
'not_allow_empty'
:
[{
'example'
:
'2'
}],
}
expected_data
=
{
'allow_null'
:
[{
'example'
:
2
}],
'not_allow_null'
:
[{
'example'
:
2
}],
'allow_empty'
:
[],
'not_allow_empty'
:
[{
'example'
:
2
}],
}
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
serializer
.
is_valid
(),
serializer
.
errors
assert
serializer
.
validated_data
==
expected_data
def
test_empty_not_allowed_if_allow_empty_is_set_to_false
(
self
):
input_data
=
{
'allow_null'
:
[{
'example'
:
'2'
}],
'not_allow_null'
:
[{
'example'
:
'2'
}],
'allow_empty'
:
[],
'not_allow_empty'
:
[],
}
serializer
=
self
.
Serializer
(
data
=
input_data
)
assert
not
serializer
.
is_valid
()
expected_errors
=
{
'not_allow_empty'
:
{
'non_field_errors'
:
[
serializers
.
ListSerializer
.
default_error_messages
[
'empty'
]]}}
assert
serializer
.
errors
==
expected_errors
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