Example #1
0
    def test_register_event_existing(self):
        async def on_ready():
            pass

        bot = Bot("app_name", "version")
        bot.client.event = MagicMock()
        bot.register_event(on_ready)
        bot.client.event.assert_not_called()
Example #2
0
    def test_register_event_normal(self):
        async def on_connect():
            pass

        bot = Bot("app_name", "version")
        bot.client.event = MagicMock()
        bot.register_event(on_connect)
        bot.client.event.assert_called_once_with(on_connect)
Example #3
0
 def test_fire_registered_event_cancel(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     on_guild_remove = AsyncMock()
     on_guild_remove.__name__ = "on_guild_remove"
     on_guild_remove.return_value = False
     bot.register_event(on_guild_remove)
     guild = AsyncMock()
     self._await(bot.on_guild_remove(guild))
     on_guild_remove.assert_awaited_once_with(guild)
     self.assertFalse(path.exists(self.LOG_PATH))
Example #4
0
 def test_fire_registered_event(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     on_guild_join = AsyncMock()
     on_guild_join.__name__ = "on_guild_join"
     on_guild_join.return_value = True
     bot.register_event(on_guild_join)
     guild = AsyncMock()
     self._await(bot.on_guild_join(guild))
     on_guild_join.assert_awaited_once_with(guild)
     self.assertTrue(path.exists(self.LOG_PATH))
Example #5
0
 def test_fire_registered_event_cancel(self):
     bot = Bot("app_name", "version")
     on_message = AsyncMock()
     on_message.__name__ = "on_message"
     on_message.return_value = False
     bot.register_event(on_message)
     watcher_callback = AsyncMock()
     bot.register_watcher(watcher_callback)
     message = AsyncMock()
     message.content = "hello there"
     self._await(bot.on_message(message))
     on_message.assert_awaited_once_with(message)
     watcher_callback.assert_not_awaited()
Example #6
0
 def test_fire_registered_event_cancel(self, client_mock):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = None
     on_ready = AsyncMock()
     on_ready.__name__ = "on_ready"
     on_ready.return_value = False
     bot.register_event(on_ready)
     ex = Exception("test")
     client_mock.change_presence.side_effect = ex
     try:
         with patch("discord.Game") as game_mock:
             game_mock.return_value = "activity"
             self._await(bot.on_ready())
     except Exception as error:
         self.assertEqual(ex, error)
     on_ready.assert_awaited_once()
     client_mock.change_presence.assert_not_called()