From aaea1b1b9eb494f24d8306bd93c49519dfb1a857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adeodato=20Sim=C3=B3?= Date: Tue, 14 Nov 2023 19:46:22 -0300 Subject: [PATCH] Add tests for naturalday_partial tag --- bookwyrm/tests/templatetags/test_date_ext.py | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 bookwyrm/tests/templatetags/test_date_ext.py diff --git a/bookwyrm/tests/templatetags/test_date_ext.py b/bookwyrm/tests/templatetags/test_date_ext.py new file mode 100644 index 000000000..a8eeb4233 --- /dev/null +++ b/bookwyrm/tests/templatetags/test_date_ext.py @@ -0,0 +1,31 @@ +"""Test date extensions in templates""" +from dateutil.parser import isoparse + +from django.test import TestCase, override_settings + +from bookwyrm.templatetags import date_ext +from bookwyrm.utils.partial_date import MonthParts, YearParts, from_partial_isoformat + + +@override_settings(LANGUAGE_CODE="en-AU") +class PartialDateTags(TestCase): + """PartialDate tags""" + + def setUp(self): + """create dates and set language""" + self._dt = isoparse("2023-12-31T23:59:59Z") + self._date = self._dt.date() + self._partial_day = from_partial_isoformat("2023-06-30") + self._partial_month = MonthParts.from_date_parts(2023, 6, 30) + self._partial_year = YearParts.from_datetime(self._dt) + + def test_standard_date_objects(self): + """should work with standard date/datetime objects""" + self.assertEqual("31 Dec 2023", date_ext.naturalday_partial(self._dt)) + self.assertEqual("31 Dec 2023", date_ext.naturalday_partial(self._date)) + + def test_partial_date_objects(self): + """should work with PartialDate and subclasses""" + self.assertEqual("2023", date_ext.naturalday_partial(self._partial_year)) + self.assertEqual("June 2023", date_ext.naturalday_partial(self._partial_month)) + self.assertEqual("30 Jun 2023", date_ext.naturalday_partial(self._partial_day))