Added a validate_unique test.

This commit is contained in:
Marko Tibold 2012-11-22 23:50:42 +01:00
parent bd8c742df2
commit 3f47f6cea9

View File

@ -1,7 +1,7 @@
import datetime
from django.test import TestCase
from rest_framework import serializers
from rest_framework.tests.models import (ActionItem, Anchor, BasicModel,
from rest_framework.tests.models import (Album, ActionItem, Anchor, BasicModel,
BlankFieldModel, BlogPost, Book, CallableDefaultValueModel, DefaultValueModel,
ManyToManyModel, Person, ReadOnlyManyToManyModel)
@ -62,6 +62,12 @@ class PersonSerializer(serializers.ModelSerializer):
read_only_fields = ('age',)
class AlbumsSerializer(serializers.ModelSerializer):
class Meta:
model = Album
class BasicTests(TestCase):
def setUp(self):
self.comment = Comment(
@ -276,6 +282,16 @@ class ValidationTests(TestCase):
self.assertEquals(serializer.is_valid(), False)
self.assertEquals(serializer.errors, {'info': [u'Ensure this value has at most 12 characters (it has 13).']})
def test_validate_unique(self):
"""
Just check if serializers.ModelSerializer.perform_model_validation() handles unique checks via .full_clean()
"""
serializer = AlbumsSerializer(data={'title': 'a'})
serializer.is_valid()
serializer.save()
second_serializer = AlbumsSerializer(data={'title': 'a'})
self.assertFalse(second_serializer.is_valid())
class RegexValidationTest(TestCase):
def test_create_failed(self):