summaryrefslogtreecommitdiff
path: root/tests/field_subclassing/tests.py
diff options
context:
space:
mode:
authorMike Fogel <mike@fogel.ca>2014-04-11 23:58:56 -0400
committerTim Graham <timograham@gmail.com>2014-04-30 07:56:52 -0400
commit7fd1b35ed794e7d0a2a18f6ac168adba25a7de23 (patch)
tree6faef8b31515c3206b271abbd971f8923248e026 /tests/field_subclassing/tests.py
parent8ec388a69da13a8a5cf82604a26abe13be7dd1cb (diff)
Fixed #22537 -- Add tests and improved docs for field subclass with choices.
Diffstat (limited to 'tests/field_subclassing/tests.py')
-rw-r--r--tests/field_subclassing/tests.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/field_subclassing/tests.py b/tests/field_subclassing/tests.py
index 5f1dbac8a3..5c695a455c 100644
--- a/tests/field_subclassing/tests.py
+++ b/tests/field_subclassing/tests.py
@@ -2,12 +2,12 @@ from __future__ import unicode_literals
import inspect
-from django.core import serializers
+from django.core import exceptions, serializers
from django.db import connection
from django.test import TestCase
from .fields import Small, CustomTypedField
-from .models import DataModel, MyModel, OtherModel
+from .models import ChoicesModel, DataModel, MyModel, OtherModel
class CustomField(TestCase):
@@ -106,6 +106,16 @@ class CustomField(TestCase):
self.assertIn('__module__', data)
self.assertEqual(data['__module__'], 'field_subclassing.models')
+ def test_validation_of_choices_for_custom_field(self):
+ # a valid choice
+ o = ChoicesModel.objects.create(data=Small('a', 'b'))
+ o.full_clean()
+
+ # an invalid choice
+ o = ChoicesModel.objects.create(data=Small('d', 'e'))
+ with self.assertRaises(exceptions.ValidationError):
+ o.full_clean()
+
class TestDbType(TestCase):