summaryrefslogtreecommitdiff
path: root/tests/field_defaults
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2026-01-06 18:32:34 -0500
committerJacob Walls <jacobtylerwalls@gmail.com>2026-03-17 10:28:26 -0400
commit37284896f08e120505c8c01918b9d6bba03c2204 (patch)
treea35f4b8f57e354e75048fe6f07e6adbabf88b89c /tests/field_defaults
parent3abf89887993140d28676f26420ee0d46a617f51 (diff)
Refs #470 -- Fixed further field_defaults test failures due to year-end boundary conditions.
Follow-up to 352d860b9107adbcde0f1fe5d0fce8e9090a51e4. Overriding USE_TZ=True during a test creates drift between the SQL compiled for inserted values versus the deployed database default, as Extract() inquires of the current timezone. To resolve this, leave USE_TZ=False and make UTC explicit when asserting the result.
Diffstat (limited to 'tests/field_defaults')
-rw-r--r--tests/field_defaults/tests.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/tests/field_defaults/tests.py b/tests/field_defaults/tests.py
index 7f85d946f6..c4b978d169 100644
--- a/tests/field_defaults/tests.py
+++ b/tests/field_defaults/tests.py
@@ -1,4 +1,4 @@
-from datetime import datetime
+from datetime import UTC, datetime
from decimal import Decimal
from math import pi
@@ -15,8 +15,7 @@ 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, override_settings, skipUnlessDBFeature
-from django.utils import timezone
+from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
from .models import (
Article,
@@ -77,7 +76,6 @@ 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()
expected_num_queries = (
@@ -85,7 +83,7 @@ class DefaultTests(TestCase):
)
with self.assertNumQueries(expected_num_queries):
self.assertAlmostEqual(m.number, pi)
- self.assertEqual(m.year, timezone.now().year)
+ self.assertEqual(m.year, datetime.now(UTC).year)
self.assertAlmostEqual(m.added, pi + 4.5)
self.assertEqual(m.multiple_subfunctions, 4.5)
@@ -175,13 +173,12 @@ 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, timezone.now().year])
+ self.assertCountEqual(years, [2000, datetime.now(UTC).year])
@skipUnlessDBFeature("supports_expression_defaults")
def test_full_clean(self):