aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_serializer.py
diff options
context:
space:
mode:
authorCarlton Gibson2014-03-06 22:48:16 +0100
committerCarlton Gibson2014-03-06 22:48:16 +0100
commitd48e8ca8d6372ae73a6b420e92c546b017fd0b46 (patch)
tree391e321bf37e1dd257c35a4ba4e68d1b59b1f54f /rest_framework/tests/test_serializer.py
parent2090f452b224e60853b40e73d1d0e9aad58cd24a (diff)
parent51e6982397cc032d6b3fd66f452713d448eb9084 (diff)
downloaddjango-rest-framework-d48e8ca8d6372ae73a6b420e92c546b017fd0b46.tar.bz2
Merge pull request #1459 from linovia/bugfix/optional_unique_validation
Unique constraint are validated even if the field is optional.
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
-rw-r--r--rest_framework/tests/test_serializer.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py
index 198c269f..44163011 100644
--- a/rest_framework/tests/test_serializer.py
+++ b/rest_framework/tests/test_serializer.py
@@ -161,7 +161,7 @@ class AlbumsSerializer(serializers.ModelSerializer):
class Meta:
model = Album
- fields = ['title'] # lists are also valid options
+ fields = ['title', 'ref'] # lists are also valid options
class PositiveIntegerAsChoiceSerializer(serializers.ModelSerializer):
@@ -611,12 +611,15 @@ class ModelValidationTests(TestCase):
"""
Just check if serializers.ModelSerializer handles unique checks via .full_clean()
"""
- serializer = AlbumsSerializer(data={'title': 'a'})
+ serializer = AlbumsSerializer(data={'title': 'a', 'ref': '1'})
serializer.is_valid()
serializer.save()
second_serializer = AlbumsSerializer(data={'title': 'a'})
self.assertFalse(second_serializer.is_valid())
- self.assertEqual(second_serializer.errors, {'title': ['Album with this Title already exists.']})
+ self.assertEqual(second_serializer.errors, {'title': ['Album with this Title already exists.'],})
+ third_serializer = AlbumsSerializer(data=[{'title': 'b', 'ref': '1'}, {'title': 'c'}])
+ self.assertFalse(third_serializer.is_valid())
+ self.assertEqual(third_serializer.errors, [{'ref': ['Album with this Ref already exists.']}, {}])
def test_foreign_key_is_null_with_partial(self):
"""