summaryrefslogtreecommitdiff
path: root/src/mailman/model/tests/test_member.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/model/tests/test_member.py')
-rw-r--r--src/mailman/model/tests/test_member.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mailman/model/tests/test_member.py b/src/mailman/model/tests/test_member.py
index 3a24d9680..51402b659 100644
--- a/src/mailman/model/tests/test_member.py
+++ b/src/mailman/model/tests/test_member.py
@@ -20,6 +20,7 @@
import unittest
from mailman.app.lifecycle import create_list
+from mailman.interfaces.action import Action
from mailman.interfaces.member import MemberRole, MembershipError
from mailman.interfaces.user import UnverifiedAddressError
from mailman.interfaces.usermanager import IUserManager
@@ -100,3 +101,23 @@ class TestMember(unittest.TestCase):
member = self._mlist.members.get_member('anne@example.com')
member.unsubscribe()
self.assertEqual(len(list(self._mlist.members.members)), 0)
+
+ def test_default_moderation_action(self):
+ # Owners and moderators have their posts accepted, members and
+ # nonmembers default to the mailing list's action for their type.
+ anne = self._usermanager.create_user('anne@example.com')
+ bart = self._usermanager.create_user('bart@example.com')
+ cris = self._usermanager.create_user('cris@example.com')
+ dana = self._usermanager.create_user('dana@example.com')
+ set_preferred(anne)
+ set_preferred(bart)
+ set_preferred(cris)
+ set_preferred(dana)
+ anne_member = self._mlist.subscribe(anne, MemberRole.owner)
+ bart_member = self._mlist.subscribe(bart, MemberRole.moderator)
+ cris_member = self._mlist.subscribe(cris, MemberRole.member)
+ dana_member = self._mlist.subscribe(dana, MemberRole.nonmember)
+ self.assertEqual(anne_member.moderation_action, Action.accept)
+ self.assertEqual(bart_member.moderation_action, Action.accept)
+ self.assertIsNone(cris_member.moderation_action)
+ self.assertIsNone(dana_member.moderation_action)