mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	digest tests: Localize mocks.
We didn't need the enough-traffic mock. We also continue to prep for testing multiple users. I also finally remove a comment that is about to be addressed (and which inaccurately refers to huddles).
This commit is contained in:
		@@ -122,12 +122,7 @@ class TestDigestEmailMessages(ZulipTestCase):
 | 
				
			|||||||
        new_stream_names = kwargs['context']['new_streams']['plain']
 | 
					        new_stream_names = kwargs['context']['new_streams']['plain']
 | 
				
			||||||
        self.assertTrue('web_public_stream' in new_stream_names)
 | 
					        self.assertTrue('web_public_stream' in new_stream_names)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @mock.patch('zerver.lib.digest.enough_traffic')
 | 
					    def test_soft_deactivated_user_multiple_stream_senders(self) -> None:
 | 
				
			||||||
    @mock.patch('zerver.lib.digest.send_future_email')
 | 
					 | 
				
			||||||
    def test_soft_deactivated_user_multiple_stream_senders(self,
 | 
					 | 
				
			||||||
                                                           mock_send_future_email: mock.MagicMock,
 | 
					 | 
				
			||||||
                                                           mock_enough_traffic: mock.MagicMock) -> None:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        one_day_ago = timezone_now() - datetime.timedelta(days=1)
 | 
					        one_day_ago = timezone_now() - datetime.timedelta(days=1)
 | 
				
			||||||
        Message.objects.all().update(date_sent=one_day_ago)
 | 
					        Message.objects.all().update(date_sent=one_day_ago)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -169,17 +164,17 @@ class TestDigestEmailMessages(ZulipTestCase):
 | 
				
			|||||||
        # To trigger this, we call the one_click_unsubscribe_link function below.
 | 
					        # To trigger this, we call the one_click_unsubscribe_link function below.
 | 
				
			||||||
        one_click_unsubscribe_link(digest_users[0], 'digest')
 | 
					        one_click_unsubscribe_link(digest_users[0], 'digest')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for digest_user in digest_users:
 | 
					        with mock.patch('zerver.lib.digest.send_future_email') as mock_send_future_email:
 | 
				
			||||||
            with queries_captured() as queries:
 | 
					            for digest_user in digest_users:
 | 
				
			||||||
                handle_digest_email(digest_user.id, cutoff)
 | 
					                with queries_captured() as queries:
 | 
				
			||||||
 | 
					                    handle_digest_email(digest_user.id, cutoff)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # This can definitely be optimized; for both the huddle and
 | 
					                self.assert_length(queries, 10)
 | 
				
			||||||
            # stream cases, the get_narrow_url API ends up double-fetching
 | 
					 | 
				
			||||||
            # some data because of how the functions are organized.
 | 
					 | 
				
			||||||
            self.assert_length(queries, 10)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.assertEqual(mock_send_future_email.call_count, 1)
 | 
					        self.assertEqual(mock_send_future_email.call_count, len(digest_users))
 | 
				
			||||||
            kwargs = mock_send_future_email.call_args[1]
 | 
					
 | 
				
			||||||
 | 
					        for i, digest_user in enumerate(digest_users):
 | 
				
			||||||
 | 
					            kwargs = mock_send_future_email.call_args_list[i][1]
 | 
				
			||||||
            self.assertEqual(kwargs['to_user_ids'], [digest_user.id])
 | 
					            self.assertEqual(kwargs['to_user_ids'], [digest_user.id])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            hot_conversations = kwargs['context']['hot_conversations']
 | 
					            hot_conversations = kwargs['context']['hot_conversations']
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user