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

1from django.core.exceptions import ValidationError 

2from django.test import TestCase, override_settings 

3 

4from mailinglists.models import ListAlias, MailingList 

5 

6 

7@override_settings(SUSPEND_SIGNALS=True) 

8class MailingListTest(TestCase): 

9 """Tests mailing lists.""" 

10 

11 @classmethod 

12 def setUpTestData(cls): 

13 cls.mailinglist = MailingList.objects.create( 

14 name="mailtest", 

15 ) 

16 

17 def setUp(self): 

18 self.mailinglist.refresh_from_db() 

19 

20 def test_clean_works(self): 

21 self.mailinglist.clean() 

22 

23 def test_no_alias_duplicates(self): 

24 listalias = ListAlias(alias="mailtest", mailinglist=self.mailinglist) 

25 

26 with self.assertRaises(ValidationError): 

27 listalias.clean() 

28 

29 listalias.alias = "mailalias" 

30 listalias.clean() 

31 

32 def test_no_automatic_list(self): 

33 mailinglist = MailingList(name="activemembers") 

34 

35 with self.assertRaises(ValidationError): 

36 mailinglist.clean() 

37 

38 mailinglist.name = "activemembers1" 

39 mailinglist.clean() 

40 

41 

42@override_settings(SUSPEND_SIGNALS=True) 

43class ListAliasTest(TestCase): 

44 """Tests list aliases.""" 

45 

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 ) 

54 

55 def setUp(self): 

56 self.mailinglist.refresh_from_db() 

57 self.listalias.refresh_from_db() 

58 

59 def test_clean_works(self): 

60 self.listalias.clean() 

61 

62 def test_no_automatic_list(self): 

63 listalias = ListAlias(alias="activemembers", mailinglist=self.mailinglist) 

64 

65 with self.assertRaises(ValidationError): 

66 listalias.clean() 

67 

68 def test_no_mailinglist_duplicates(self): 

69 m1 = MailingList(name="mailalias") 

70 

71 with self.assertRaises(ValidationError): 

72 m1.clean() 

73 

74 m1.name = "mailtest2" 

75 m1.clean()