from datetime import date from django.contrib.auth.models import Permission, User from django.core.exceptions import ValidationError from django.test import TestCase from django_hosts.resolvers import reverse from djmoney.money import Money from djangoproject.tests import ReleaseMixin from .models import ApprovedGrant, Banner, BoardMember, Business, Meeting, Office, Term class BannerTestCase(ReleaseMixin, TestCase): def test_activating_banner_deactivates_others(self): b1 = Banner.objects.create(title="First", is_active=True) b2 = Banner.objects.create(title="Second", is_active=True) b1.refresh_from_db() self.assertIs(b1.is_active, False) self.assertIs(b2.is_active, True) def test_deactivating_banner_leaves_others_unchanged(self): b1 = Banner.objects.create(title="First", is_active=True) b2 = Banner.objects.create(title="Second") self.assertIs(b2.is_active, False) b2.title = "New Title" b2.save() b1.refresh_from_db() self.assertIs(b1.is_active, True) b2.refresh_from_db() self.assertIs(b2.is_active, False) def test_active_banner_tag_no_active_banner(self): Banner.objects.create(title="Inactive", is_active=False) response = self.client.get("/") self.assertNotContains(response, '