mirror of
https://github.com/django/django.git
synced 2025-03-12 10:22:37 +00:00
[5.2.x] Refs #470 -- Fixed field_defaults test failures due to year-end boundary conditions.
Backport of 352d860b9107adbcde0f1fe5d0fce8e9090a51e4 from main.
This commit is contained in:
parent
123d00a9a3
commit
c85b68398b
@ -15,7 +15,14 @@ from django.db.models.expressions import (
|
||||
)
|
||||
from django.db.models.functions import Collate
|
||||
from django.db.models.lookups import GreaterThan
|
||||
from django.test import SimpleTestCase, TestCase, skipIfDBFeature, skipUnlessDBFeature
|
||||
from django.test import (
|
||||
SimpleTestCase,
|
||||
TestCase,
|
||||
override_settings,
|
||||
skipIfDBFeature,
|
||||
skipUnlessDBFeature,
|
||||
)
|
||||
from django.utils import timezone
|
||||
|
||||
from .models import (
|
||||
Article,
|
||||
@ -69,12 +76,13 @@ class DefaultTests(TestCase):
|
||||
self.assertIsNone(obj2.null)
|
||||
|
||||
@skipUnlessDBFeature("supports_expression_defaults")
|
||||
@override_settings(USE_TZ=True)
|
||||
def test_db_default_function(self):
|
||||
m = DBDefaultsFunction.objects.create()
|
||||
if not connection.features.can_return_columns_from_insert:
|
||||
m.refresh_from_db()
|
||||
self.assertAlmostEqual(m.number, pi)
|
||||
self.assertEqual(m.year, datetime.now().year)
|
||||
self.assertEqual(m.year, timezone.now().year)
|
||||
self.assertAlmostEqual(m.added, pi + 4.5)
|
||||
self.assertEqual(m.multiple_subfunctions, 4.5)
|
||||
|
||||
@ -163,12 +171,13 @@ class DefaultTests(TestCase):
|
||||
self.assertCountEqual(headlines, ["Default headline", "Something else"])
|
||||
|
||||
@skipUnlessDBFeature("supports_expression_defaults")
|
||||
@override_settings(USE_TZ=True)
|
||||
def test_bulk_create_mixed_db_defaults_function(self):
|
||||
instances = [DBDefaultsFunction(), DBDefaultsFunction(year=2000)]
|
||||
DBDefaultsFunction.objects.bulk_create(instances)
|
||||
|
||||
years = DBDefaultsFunction.objects.values_list("year", flat=True)
|
||||
self.assertCountEqual(years, [2000, datetime.now().year])
|
||||
self.assertCountEqual(years, [2000, timezone.now().year])
|
||||
|
||||
def test_full_clean(self):
|
||||
obj = DBArticle()
|
||||
|
Loading…
x
Reference in New Issue
Block a user