tests: Add a helper function to create anonymous groups.

This commit adds a new helper function to create or update
a UserGroup object for a setting. We could have used existing
update_or_create_user_group_for_setting but that also validates
user IDs and subgroup IDs which we can skip in tests.
This commit is contained in:
Sahil Batra
2024-05-28 12:55:40 +05:30
committed by Tim Abbott
parent 81765a1e83
commit aa84080ad6
6 changed files with 38 additions and 26 deletions

View File

@@ -107,6 +107,7 @@ from zerver.models import (
Recipient,
Stream,
Subscription,
UserGroup,
UserGroupMembership,
UserMessage,
UserProfile,
@@ -1977,6 +1978,23 @@ Output:
realm, "can_access_all_users_group", members_group, acting_user=None
)
def create_or_update_anonymous_group_for_setting(
self,
direct_members: List[UserProfile],
direct_subgroups: List[NamedUserGroup],
existing_setting_group: Optional[UserGroup] = None,
) -> UserGroup:
realm = get_realm("zulip")
if existing_setting_group is not None:
existing_setting_group.direct_members.set(direct_members)
existing_setting_group.direct_subgroups.set(direct_subgroups)
return existing_setting_group
user_group = UserGroup.objects.create(realm=realm)
user_group.direct_members.set(direct_members)
user_group.direct_subgroups.set(direct_subgroups)
return user_group
class ZulipTestCase(ZulipTestCaseMixin, TestCase):
@contextmanager