diff --git a/tests/modeltests/validation/test_unique.py b/tests/modeltests/validation/test_unique.py new file mode 100644 index 0000000000..98c9615927 --- /dev/null +++ b/tests/modeltests/validation/test_unique.py @@ -0,0 +1,27 @@ +import unittest + +from models import CustomPKModel, UniqueTogetherModel, UniqueFieldsModel, UniqueForDateModel + +class GetUniqueCheckTests(unittest.TestCase): + def test_unique_fields_get_collected(self): + m = UniqueFieldsModel() + self.assertEqual(([('id',), ('unique_charfield',), ('unique_integerfield',)], []), m._get_unique_checks()) + + def test_unique_together_gets_picked_up(self): + m = UniqueTogetherModel() + self.assertEqual(([('ifield', 'cfield',),('ifield', 'efield'), ('id',), ], []), m._get_unique_checks()) + + def test_primary_key_is_considered_unique(self): + m = CustomPKModel() + self.assertEqual(([('my_pk_field',)], []), m._get_unique_checks()) + + def test_unique_for_date_gets_picked_up(self): + m = UniqueForDateModel() + self.assertEqual(( + [('id',)], + [('date', 'count', 'start_date'), ('year', 'count', 'end_date'), ('month', 'order', 'end_date')] + ), m._get_unique_checks() + ) + + + diff --git a/tests/modeltests/validation/tests.py b/tests/modeltests/validation/tests.py index 8177c1a2cc..150ebd9ccc 100644 --- a/tests/modeltests/validation/tests.py +++ b/tests/modeltests/validation/tests.py @@ -7,6 +7,7 @@ from modeltests.validation import ValidationTestCase from models import * from validators import TestModelsWithValidators +from test_unique import GetUniqueCheckTests class BaseModelValidationTests(ValidationTestCase): @@ -43,25 +44,3 @@ class BaseModelValidationTests(ValidationTestCase): mtv = ModelToValidate(number=10, name='Some Name'*100) self.assertFailsValidation(mtv.clean, ['name',]) -class GetUniqueCheckTests(unittest.TestCase): - def test_unique_fields_get_collected(self): - m = UniqueFieldsModel() - self.assertEqual(([('id',), ('unique_charfield',), ('unique_integerfield',)], []), m._get_unique_checks()) - - def test_unique_together_gets_picked_up(self): - m = UniqueTogetherModel() - self.assertEqual(([('ifield', 'cfield',),('ifield', 'efield'), ('id',), ], []), m._get_unique_checks()) - - def test_primary_key_is_considered_unique(self): - m = CustomPKModel() - self.assertEqual(([('my_pk_field',)], []), m._get_unique_checks()) - - def test_unique_for_date_gets_picked_up(self): - m = UniqueForDateModel() - self.assertEqual(( - [('id',)], - [('date', 'count', 'start_date'), ('year', 'count', 'end_date'), ('month', 'order', 'end_date')] - ), m._get_unique_checks() - ) - -