From d609bd44a91d7370939305157b159ef3ff894ba3 Mon Sep 17 00:00:00 2001 From: Shubham Padia Date: Wed, 6 Aug 2025 07:39:00 +0000 Subject: [PATCH] channel-folders: Setup data in class instead of each test. We used the data setup from the get test case since it needed the most number of folders. --- zerver/tests/test_channel_folders.py | 67 +++++++++++++--------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/zerver/tests/test_channel_folders.py b/zerver/tests/test_channel_folders.py index a45ccab5f2..e56a372f84 100644 --- a/zerver/tests/test_channel_folders.py +++ b/zerver/tests/test_channel_folders.py @@ -1,6 +1,7 @@ from typing import Any import orjson +from typing_extensions import override from zerver.actions.channel_folders import check_add_channel_folder, do_archive_channel_folder from zerver.actions.streams import do_change_stream_folder, do_deactivate_stream @@ -10,6 +11,29 @@ from zerver.models.realms import get_realm from zerver.models.streams import get_stream +class ChannelFoldersTestCase(ZulipTestCase): + @override + def setUp(self) -> None: + super().setUp() + zulip_realm = get_realm("zulip") + iago = self.example_user("iago") + desdemona = self.example_user("desdemona") + lear_user = self.lear_user("cordelia") + + check_add_channel_folder( + zulip_realm, "Frontend", "Channels for frontend discussions", acting_user=iago + ) + check_add_channel_folder( + zulip_realm, "Backend", "Channels for **backend** discussions", acting_user=iago + ) + check_add_channel_folder( + zulip_realm, "Marketing", "Channels for marketing discussions", acting_user=desdemona + ) + check_add_channel_folder( + lear_user.realm, "Devops", "Channels for devops discussions", acting_user=lear_user + ) + + class ChannelFolderCreationTest(ZulipTestCase): def test_creating_channel_folder(self) -> None: self.login("shiva") @@ -105,25 +129,14 @@ class ChannelFolderCreationTest(ZulipTestCase): ) -class GetChannelFoldersTest(ZulipTestCase): +class GetChannelFoldersTest(ChannelFoldersTestCase): def test_get_channel_folders(self) -> None: iago = self.example_user("iago") desdemona = self.example_user("desdemona") zulip_realm = iago.realm - frontend_folder = check_add_channel_folder( - zulip_realm, "Frontend", "Channels for frontend discussions", acting_user=iago - ) - backend_folder = check_add_channel_folder( - zulip_realm, "Backend", "Channels for **backend** discussions", acting_user=iago - ) - marketing_folder = check_add_channel_folder( - zulip_realm, "Marketing", "Channels for marketing discussions", acting_user=desdemona - ) - - lear_user = self.lear_user("cordelia") - check_add_channel_folder( - lear_user.realm, "Devops", "Channels for devops discussions", acting_user=lear_user - ) + frontend_folder = ChannelFolder.objects.get(name="Frontend", realm=zulip_realm) + backend_folder = ChannelFolder.objects.get(name="Backend", realm=zulip_realm) + marketing_folder = ChannelFolder.objects.get(name="Marketing", realm=zulip_realm) def check_channel_folders_in_zulip_realm( channel_folders: list[dict[str, Any]], marketing_folder_included: bool = True @@ -199,16 +212,10 @@ class GetChannelFoldersTest(ZulipTestCase): check_channel_folders_in_zulip_realm(channel_folders_data) -class UpdateChannelFoldersTest(ZulipTestCase): +class UpdateChannelFoldersTest(ChannelFoldersTestCase): def test_updating_channel_folder_name(self) -> None: realm = get_realm("zulip") - channel_folder = check_add_channel_folder( - realm, - "Frontend", - "Channels for frontend discussions", - acting_user=self.example_user("desdemona"), - ) - check_add_channel_folder(realm, "Backend", "", acting_user=self.example_user("desdemona")) + channel_folder = ChannelFolder.objects.get(name="Frontend", realm=realm) channel_folder_id = channel_folder.id self.login("hamlet") @@ -254,12 +261,7 @@ class UpdateChannelFoldersTest(ZulipTestCase): ) def test_updating_channel_folder_description(self) -> None: - channel_folder = check_add_channel_folder( - get_realm("zulip"), - "Frontend", - "Channels for frontend discussions", - acting_user=self.example_user("desdemona"), - ) + channel_folder = ChannelFolder.objects.get(name="Frontend", realm=get_realm("zulip")) channel_folder_id = channel_folder.id self.login("hamlet") @@ -301,12 +303,7 @@ class UpdateChannelFoldersTest(ZulipTestCase): def test_archiving_and_unarchiving_channel_folder(self) -> None: desdemona = self.example_user("desdemona") realm = get_realm("zulip") - channel_folder = check_add_channel_folder( - realm, - "Frontend", - "Channels for frontend discussions", - acting_user=self.example_user("desdemona"), - ) + channel_folder = ChannelFolder.objects.get(name="Frontend", realm=realm) channel_folder_id = channel_folder.id self.login("hamlet")