Coverage for website/mailinglists/tests/test_models.py: 100.00%
45 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django.core.exceptions import ValidationError
2from django.test import TestCase, override_settings
4from mailinglists.models import ListAlias, MailingList
7@override_settings(SUSPEND_SIGNALS=True)
8class MailingListTest(TestCase):
9 """Tests mailing lists."""
11 @classmethod
12 def setUpTestData(cls):
13 cls.mailinglist = MailingList.objects.create(
14 name="mailtest",
15 )
17 def setUp(self):
18 self.mailinglist.refresh_from_db()
20 def test_clean_works(self):
21 self.mailinglist.clean()
23 def test_no_alias_duplicates(self):
24 listalias = ListAlias(alias="mailtest", mailinglist=self.mailinglist)
26 with self.assertRaises(ValidationError):
27 listalias.clean()
29 listalias.alias = "mailalias"
30 listalias.clean()
32 def test_no_automatic_list(self):
33 mailinglist = MailingList(name="activemembers")
35 with self.assertRaises(ValidationError):
36 mailinglist.clean()
38 mailinglist.name = "activemembers1"
39 mailinglist.clean()
42@override_settings(SUSPEND_SIGNALS=True)
43class ListAliasTest(TestCase):
44 """Tests list aliases."""
46 @classmethod
47 def setUpTestData(cls):
48 cls.mailinglist = MailingList.objects.create(
49 name="mailtest",
50 )
51 cls.listalias = ListAlias.objects.create(
52 alias="mailalias", mailinglist=cls.mailinglist
53 )
55 def setUp(self):
56 self.mailinglist.refresh_from_db()
57 self.listalias.refresh_from_db()
59 def test_clean_works(self):
60 self.listalias.clean()
62 def test_no_automatic_list(self):
63 listalias = ListAlias(alias="activemembers", mailinglist=self.mailinglist)
65 with self.assertRaises(ValidationError):
66 listalias.clean()
68 def test_no_mailinglist_duplicates(self):
69 m1 = MailingList(name="mailalias")
71 with self.assertRaises(ValidationError):
72 m1.clean()
74 m1.name = "mailtest2"
75 m1.clean()