Adding failing tests that show null=True model fields are won't validate if their value is omitted.

This commit is contained in:
Marko Tibold 2012-10-30 00:03:24 +01:00
parent b6c90c0d68
commit 6ccbdd10ad
2 changed files with 18 additions and 0 deletions

View File

@ -116,3 +116,8 @@ class BlogPost(RESTFrameworkModel):
class BlogPostComment(RESTFrameworkModel): class BlogPostComment(RESTFrameworkModel):
text = models.TextField() text = models.TextField()
blog_post = models.ForeignKey(BlogPost) blog_post = models.ForeignKey(BlogPost)
class Person(RESTFrameworkModel):
name = models.CharField(max_length=10)
age = models.IntegerField(null=True, blank=True)

View File

@ -43,6 +43,11 @@ class ActionItemSerializer(serializers.ModelSerializer):
model = ActionItem model = ActionItem
class PersonSerializer(serializers.ModelSerializer):
class Meta:
model = Person
class BasicTests(TestCase): class BasicTests(TestCase):
def setUp(self): def setUp(self):
self.comment = Comment( self.comment = Comment(
@ -188,6 +193,14 @@ class ValidationTests(TestCase):
self.assertFalse(serializer.is_valid()) self.assertFalse(serializer.is_valid())
self.assertEquals(serializer.errors, {'non_field_errors': [u'Email address not in content']}) 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): class MetadataTests(TestCase):
def test_empty(self): def test_empty(self):