Browse Source

Refs #470 -- Fixed field_defaults test failures due to year-end boundary conditions.

Jacob Walls 2 months ago
parent
commit
352d860b91
1 changed files with 12 additions and 3 deletions
  1. 12 3
      tests/field_defaults/tests.py

+ 12 - 3
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()