mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	zulip_updates: Add test to verify deactivated channel case.
This commit adds test to verify that we skip the update messages and directly update the `zulip_update_announcements_level` to the latest level when the configured `zulip_update_announcements_stream` is deactivated.
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							77baa05aa9
						
					
				
				
					commit
					fe3199b954
				
			@@ -9,6 +9,7 @@ from django.utils.timezone import now as timezone_now
 | 
				
			|||||||
from typing_extensions import override
 | 
					from typing_extensions import override
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from zerver.actions.create_realm import do_create_realm
 | 
					from zerver.actions.create_realm import do_create_realm
 | 
				
			||||||
 | 
					from zerver.actions.streams import do_deactivate_stream
 | 
				
			||||||
from zerver.data_import.mattermost import do_convert_data
 | 
					from zerver.data_import.mattermost import do_convert_data
 | 
				
			||||||
from zerver.lib.import_realm import do_import_realm
 | 
					from zerver.lib.import_realm import do_import_realm
 | 
				
			||||||
from zerver.lib.message import remove_single_newlines
 | 
					from zerver.lib.message import remove_single_newlines
 | 
				
			||||||
@@ -200,6 +201,32 @@ class ZulipUpdateAnnouncementsTest(ZulipTestCase):
 | 
				
			|||||||
            self.assertEqual(stream_messages[1].content, "Announcement message 4.")
 | 
					            self.assertEqual(stream_messages[1].content, "Announcement message 4.")
 | 
				
			||||||
            self.assertEqual(realm.zulip_update_announcements_level, 4)
 | 
					            self.assertEqual(realm.zulip_update_announcements_level, 4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # One new update added.
 | 
				
			||||||
 | 
					            new_updates = [
 | 
				
			||||||
 | 
					                ZulipUpdateAnnouncement(
 | 
				
			||||||
 | 
					                    level=5,
 | 
				
			||||||
 | 
					                    message="Announcement message 5.",
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					            self.zulip_update_announcements.extend(new_updates)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # Verify that update message is skipped if configured channel gets deactivated.
 | 
				
			||||||
 | 
					            # Note: 'do_deactivate_stream' sets 'zulip_update_announcements_stream' to None.
 | 
				
			||||||
 | 
					            channel_id = realm.zulip_update_announcements_stream.id
 | 
				
			||||||
 | 
					            do_deactivate_stream(realm.zulip_update_announcements_stream, acting_user=None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            with time_machine.travel(now + timedelta(days=8), tick=False):
 | 
				
			||||||
 | 
					                send_zulip_update_announcements(skip_delay=False)
 | 
				
			||||||
 | 
					            realm.refresh_from_db()
 | 
				
			||||||
 | 
					            channel_messages = Message.objects.filter(
 | 
				
			||||||
 | 
					                realm=realm,
 | 
				
			||||||
 | 
					                sender=notification_bot,
 | 
				
			||||||
 | 
					                recipient__type_id=channel_id,
 | 
				
			||||||
 | 
					                date_sent__gte=now + timedelta(days=8),
 | 
				
			||||||
 | 
					            ).order_by("id")
 | 
				
			||||||
 | 
					            self.assert_length(channel_messages, 0)
 | 
				
			||||||
 | 
					            self.assertEqual(realm.zulip_update_announcements_level, 5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_send_zulip_update_announcements_skip_delay(self) -> None:
 | 
					    def test_send_zulip_update_announcements_skip_delay(self) -> None:
 | 
				
			||||||
        with mock.patch(
 | 
					        with mock.patch(
 | 
				
			||||||
            "zerver.lib.zulip_update_announcements.zulip_update_announcements",
 | 
					            "zerver.lib.zulip_update_announcements.zulip_update_announcements",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user