def test_auto_subbed_to_personals(self) -> None: """ Newly created users are auto-subbed to the ability to receive personals. """ test_email = self.nonreg_email('test') self.register(test_email, "test") user_profile = self.nonreg_user('test') old_messages_count = message_stream_count(user_profile) self.send_personal_message(user_profile, user_profile) new_messages_count = message_stream_count(user_profile) self.assertEqual(new_messages_count, old_messages_count + 1) recipient = Recipient.objects.get(type_id=user_profile.id, type=Recipient.PERSONAL) message = most_recent_message(user_profile) self.assertEqual(message.recipient, recipient) with mock.patch('zerver.models.get_display_recipient', return_value='recip'): self.assertEqual( str(message), '<Message: recip / / ' '<UserProfile: {} {}>>'.format(user_profile.email, user_profile.realm)) user_message = most_recent_usermessage(user_profile) self.assertEqual( str(user_message), f'<UserMessage: recip / {user_profile.email} ([])>', )
def test_no_response_to_group_pm(self) -> None: user1 = self.example_user('hamlet') user2 = self.example_user('cordelia') bot = get_system_bot(settings.WELCOME_BOT) content = "whatever" self.login_user(user1) self.send_huddle_message(user1, [bot, user2], content) user1_messages = message_stream_count(user1) self.assertEqual(most_recent_message(user1).content, content) # Welcome bot should still respond to initial PM after group PM. self.send_personal_message(user1, bot, content) self.assertEqual(message_stream_count(user1), user1_messages+2)
def test_single_response_to_pm(self) -> None: user = self.example_user('hamlet') bot = get_system_bot(settings.WELCOME_BOT) content = 'whatever' self.login_user(user) self.send_personal_message(user, bot, content) user_messages = message_stream_count(user) expected_response = ("Congratulations on your first reply! :tada:\n\n" "Feel free to continue using this space to practice your new messaging " "skills. Or, try clicking on some of the stream names to your left!") self.assertEqual(most_recent_message(user).content, expected_response) # Welcome bot shouldn't respond to further PMs. self.send_personal_message(user, bot, content) self.assertEqual(message_stream_count(user), user_messages+1)
def test_no_response_to_group_pm(self) -> None: realm = get_realm('zulip') # Assume realm is always 'zulip' user1_email = self.example_email('hamlet') user2_email = self.example_email('cordelia') bot_email = self.example_email('welcome_bot') content = "whatever" self.login(user1_email) self.send_huddle_message(user1_email, [bot_email, user2_email], content) user1 = get_user(user1_email, realm) user1_messages = message_stream_count(user1) self.assertEqual(most_recent_message(user1).content, content) # Welcome bot should still respond to initial PM after group PM. self.send_personal_message(user1_email, bot_email, content) self.assertEqual(message_stream_count(user1), user1_messages+2)
def test_single_response_to_pm(self) -> None: realm = get_realm('zulip') user_email = '*****@*****.**' bot_email = '*****@*****.**' content = 'whatever' self.login(user_email) self.send_personal_message(user_email, bot_email, content) user = get_user(user_email, realm) user_messages = message_stream_count(user) expected_response = ("Congratulations on your first reply! :tada:\n\n" "Feel free to continue using this space to practice your new messaging " "skills. Or, try clicking on some of the stream names to your left!") self.assertEqual(most_recent_message(user).content, expected_response) # Welcome bot shouldn't respond to further PMs. self.send_personal_message(user_email, bot_email, content) self.assertEqual(message_stream_count(user), user_messages+1)