Correct exception catch for `timesince`

This commit is contained in:
Christopher C. Wells 2023-10-21 12:49:44 -07:00 committed by Christopher Charbonneau Wells
parent 39c1e98d8c
commit 43ab2694b4
2 changed files with 27 additions and 9 deletions

View File

@ -22,7 +22,7 @@ def child_age_string(birth_date):
return ""
try:
return timesince.timesince(birth_date, depth=1)
except (ValueError, TypeError):
except AttributeError:
return ""

View File

@ -24,14 +24,32 @@ class TemplateTagsTestCase(TestCase):
)
def test_child_age_string(self):
date = timezone.localtime() - timezone.timedelta(days=0, hours=6)
self.assertEqual("6\xa0hours", duration.child_age_string(date))
date = timezone.localdate() - timezone.timedelta(days=1, hours=6)
self.assertEqual("1\xa0day", duration.child_age_string(date))
date = timezone.localdate() - timezone.timedelta(days=45)
self.assertEqual("1\xa0month", duration.child_age_string(date))
date = timezone.localdate() - timezone.timedelta(days=95)
self.assertEqual("3\xa0months", duration.child_age_string(date))
self.assertEqual(
"6\xa0hours",
duration.child_age_string(
timezone.localtime() - timezone.timedelta(days=0, hours=6)
),
)
self.assertEqual(
"1\xa0day",
duration.child_age_string(
timezone.localdate() - timezone.timedelta(days=1, hours=6)
),
)
self.assertEqual(
"1\xa0month",
duration.child_age_string(
timezone.localdate() - timezone.timedelta(days=45)
),
)
self.assertEqual(
"3\xa0months",
duration.child_age_string(
timezone.localdate() - timezone.timedelta(days=95)
),
)
self.assertEqual("", duration.child_age_string(None))
self.assertEqual("", duration.child_age_string("not a date!!"))
def test_duration_duration_string(self):
delta = timezone.timedelta(hours=1, minutes=30, seconds=15)