diff --git a/core/templatetags/duration.py b/core/templatetags/duration.py index 9d3cc8fd..fb8a034a 100644 --- a/core/templatetags/duration.py +++ b/core/templatetags/duration.py @@ -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 "" diff --git a/core/tests/tests_templatetags.py b/core/tests/tests_templatetags.py index 9edc137b..1f189e41 100644 --- a/core/tests/tests_templatetags.py +++ b/core/tests/tests_templatetags.py @@ -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)