From 352d860b9107adbcde0f1fe5d0fce8e9090a51e4 Mon Sep 17 00:00:00 2001
From: Jacob Walls <jacobtylerwalls@gmail.com>
Date: Thu, 23 Jan 2025 10:43:04 -0500
Subject: [PATCH] Refs #470 -- Fixed field_defaults test failures due to
 year-end boundary conditions.

---
 tests/field_defaults/tests.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/tests/field_defaults/tests.py b/tests/field_defaults/tests.py
index 6a5c75c36a..57d5ce6320 100644
--- a/tests/field_defaults/tests.py
+++ b/tests/field_defaults/tests.py
@@ -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()