Change: treat created as date not datetime (#9793)

This commit is contained in:
shamoon 2025-05-16 07:23:04 -07:00 committed by GitHub
parent ce5d4e9c92
commit 1a6f32534c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 228 additions and 128 deletions

View file

@ -1,12 +1,11 @@
import shutil
import tempfile
import zoneinfo
from datetime import date
from pathlib import Path
from unittest import mock
from django.test import TestCase
from django.test import override_settings
from django.utils import timezone
from documents.models import Correspondent
from documents.models import Document
@ -81,60 +80,15 @@ class TestDocument(TestCase):
doc = Document(
mime_type="application/pdf",
title="test",
created=timezone.datetime(2020, 12, 25, tzinfo=zoneinfo.ZoneInfo("UTC")),
created=date(2020, 12, 25),
)
self.assertEqual(doc.get_public_filename(), "2020-12-25 test.pdf")
@override_settings(
TIME_ZONE="Europe/Berlin",
)
def test_file_name_with_timezone(self):
# See https://docs.djangoproject.com/en/4.0/ref/utils/#django.utils.timezone.now
# The default for created is an aware datetime in UTC
# This does that, just manually, with a fixed date
local_create_date = timezone.datetime(
2020,
12,
25,
tzinfo=zoneinfo.ZoneInfo("Europe/Berlin"),
)
utc_create_date = local_create_date.astimezone(zoneinfo.ZoneInfo("UTC"))
doc = Document(
mime_type="application/pdf",
title="test",
created=utc_create_date,
)
# Ensure the create date would cause an off by 1 if not properly created above
self.assertEqual(utc_create_date.date().day, 24)
self.assertEqual(doc.get_public_filename(), "2020-12-25 test.pdf")
local_create_date = timezone.datetime(
2020,
1,
1,
tzinfo=zoneinfo.ZoneInfo("Europe/Berlin"),
)
utc_create_date = local_create_date.astimezone(zoneinfo.ZoneInfo("UTC"))
doc = Document(
mime_type="application/pdf",
title="test",
created=utc_create_date,
)
# Ensure the create date would cause an off by 1 in the year if not properly created above
self.assertEqual(utc_create_date.date().year, 2019)
self.assertEqual(doc.get_public_filename(), "2020-01-01 test.pdf")
def test_file_name_jpg(self):
doc = Document(
mime_type="image/jpeg",
title="test",
created=timezone.datetime(2020, 12, 25, tzinfo=zoneinfo.ZoneInfo("UTC")),
created=date(2020, 12, 25),
)
self.assertEqual(doc.get_public_filename(), "2020-12-25 test.jpg")
@ -142,7 +96,7 @@ class TestDocument(TestCase):
doc = Document(
mime_type="application/zip",
title="test",
created=timezone.datetime(2020, 12, 25, tzinfo=zoneinfo.ZoneInfo("UTC")),
created=date(2020, 12, 25),
)
self.assertEqual(doc.get_public_filename(), "2020-12-25 test.zip")
@ -150,6 +104,6 @@ class TestDocument(TestCase):
doc = Document(
mime_type="image/jpegasd",
title="test",
created=timezone.datetime(2020, 12, 25, tzinfo=zoneinfo.ZoneInfo("UTC")),
created=date(2020, 12, 25),
)
self.assertEqual(doc.get_public_filename(), "2020-12-25 test")