Ejemplo n.º 1
0
    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} ([])>',
            )
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)