|
@@ -2,6 +2,7 @@ from datetime import datetime
|
|
|
from decimal import Decimal
|
|
|
from math import pi
|
|
|
|
|
|
+from django.core.exceptions import ValidationError
|
|
|
from django.db import connection
|
|
|
from django.db.models import Case, F, FloatField, Value, When
|
|
|
from django.db.models.expressions import (
|
|
@@ -169,6 +170,23 @@ class DefaultTests(TestCase):
|
|
|
years = DBDefaultsFunction.objects.values_list("year", flat=True)
|
|
|
self.assertCountEqual(years, [2000, datetime.now().year])
|
|
|
|
|
|
+ def test_full_clean(self):
|
|
|
+ obj = DBArticle()
|
|
|
+ obj.full_clean()
|
|
|
+ obj.save()
|
|
|
+ obj.refresh_from_db()
|
|
|
+ self.assertEqual(obj.headline, "Default headline")
|
|
|
+
|
|
|
+ obj = DBArticle(headline="Other title")
|
|
|
+ obj.full_clean()
|
|
|
+ obj.save()
|
|
|
+ obj.refresh_from_db()
|
|
|
+ self.assertEqual(obj.headline, "Other title")
|
|
|
+
|
|
|
+ obj = DBArticle(headline="")
|
|
|
+ with self.assertRaises(ValidationError):
|
|
|
+ obj.full_clean()
|
|
|
+
|
|
|
|
|
|
class AllowedDefaultTests(SimpleTestCase):
|
|
|
def test_allowed(self):
|