aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests
diff options
context:
space:
mode:
authorMarko Tibold2012-10-30 00:03:24 +0100
committerMarko Tibold2012-10-30 00:03:24 +0100
commit6ccbdd10ad91bbc2116c6adf520096e9da95b8e0 (patch)
tree4d46e728e7f0a15207832b8354cb31610cf1e48c /rest_framework/tests
parentb6c90c0d684cd036a2ce874fd9ace7a8a2bfda2f (diff)
downloaddjango-rest-framework-6ccbdd10ad91bbc2116c6adf520096e9da95b8e0.tar.bz2
Adding failing tests that show null=True model fields are won't validate if their value is omitted.
Diffstat (limited to 'rest_framework/tests')
-rw-r--r--rest_framework/tests/models.py5
-rw-r--r--rest_framework/tests/serializer.py13
2 files changed, 18 insertions, 0 deletions
diff --git a/rest_framework/tests/models.py b/rest_framework/tests/models.py
index ac73a4bb..fb23e359 100644
--- a/rest_framework/tests/models.py
+++ b/rest_framework/tests/models.py
@@ -116,3 +116,8 @@ class BlogPost(RESTFrameworkModel):
class BlogPostComment(RESTFrameworkModel):
text = models.TextField()
blog_post = models.ForeignKey(BlogPost)
+
+
+class Person(RESTFrameworkModel):
+ name = models.CharField(max_length=10)
+ age = models.IntegerField(null=True, blank=True)
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py
index 5df3bd7e..eb21dc46 100644
--- a/rest_framework/tests/serializer.py
+++ b/rest_framework/tests/serializer.py
@@ -43,6 +43,11 @@ class ActionItemSerializer(serializers.ModelSerializer):
model = ActionItem
+class PersonSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Person
+
+
class BasicTests(TestCase):
def setUp(self):
self.comment = Comment(
@@ -188,6 +193,14 @@ class ValidationTests(TestCase):
self.assertFalse(serializer.is_valid())
self.assertEquals(serializer.errors, {'non_field_errors': [u'Email address not in content']})
+ def test_null_is_true_fields(self):
+ """
+ Omitting a value for null-field should validate.
+ """
+ serializer = PersonSerializer({'name': 'marko'})
+ self.assertEquals(serializer.is_valid(), True)
+ self.assertEquals(serializer.errors, {})
+
class MetadataTests(TestCase):
def test_empty(self):