Mercurial > public > sg101
changeset 1220:d63f9ece1129 modernize tip
Add unit test for bulletin template tags.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 23 Feb 2025 16:34:01 -0600 |
parents | f354554afb6e |
children | |
files | bulletins/tests/__init__.py bulletins/tests/test_templatetags.py |
diffstat | 1 files changed, 46 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bulletins/tests/test_templatetags.py Sun Feb 23 16:34:01 2025 -0600 @@ -0,0 +1,46 @@ +""" +Unit tests for the bulletin app template tags. + +""" +from datetime import datetime, timedelta + +from django.template import Context, Template +from django.test import TestCase + +from bulletins.models import Bulletin + + +class BulletinTemplatetagsTestCase(TestCase): + + TEMPLATE = Template('{% load bulletin_tags %} {% current_bulletins %}') + + def setUp(self): + now = datetime.now() + bulletins = [ + Bulletin(title='All Points', text='No end date', + start_date=now - timedelta(days=3)), + Bulletin(title='Attention', text='Has end date within window', + start_date=now - timedelta(days=30), + end_date=now + timedelta(days=30)), + Bulletin(title='Expired', text='Ended already', + start_date=now - timedelta(days=30), + end_date=now - timedelta(days=10)), + Bulletin(title='Not enabled', text='Not enabled text', + start_date=now - timedelta(days=30), + is_enabled=False) + ] + for bulletin in bulletins: + bulletin.save() + + def test_renders_expected_bulletins(self): + rendered = self.TEMPLATE.render(Context({})) + + self.assertIn('All Points', rendered) + self.assertIn('No end date', rendered) + self.assertIn('Attention', rendered) + self.assertIn('Has end date within window', rendered) + + self.assertNotIn('Expired', rendered) + self.assertNotIn('Ended already', rendered) + self.assertNotIn('Not enabled', rendered) +