aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/cogs/test_error_handler.py66
1 files changed, 27 insertions, 39 deletions
diff --git a/tests/bot/cogs/test_error_handler.py b/tests/bot/cogs/test_error_handler.py
index 8be562473..bfb1cfe61 100644
--- a/tests/bot/cogs/test_error_handler.py
+++ b/tests/bot/cogs/test_error_handler.py
@@ -167,77 +167,65 @@ class TrySilenceTests(unittest.IsolatedAsyncioTestCase):
def setUp(self):
self.bot = MockBot()
- self.bot.get_command.return_value = Silence(self.bot).silence
+ self.silence = Silence(self.bot)
+ self.bot.get_command.return_value = self.silence.silence
+ self.ctx = MockContext(bot=self.bot)
+ self.cog = ErrorHandler(self.bot)
async def test_try_silence_context_invoked_from_error_handler(self):
"""Should set `Context.invoked_from_error_handler` to `True`."""
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
- ctx.invoked_with = "foo"
- await cog.try_silence(ctx)
- self.assertTrue(hasattr(ctx, "invoked_from_error_handler"))
- self.assertTrue(ctx.invoked_from_error_handler)
+ self.ctx.invoked_with = "foo"
+ await self.cog.try_silence(self.ctx)
+ self.assertTrue(hasattr(self.ctx, "invoked_from_error_handler"))
+ self.assertTrue(self.ctx.invoked_from_error_handler)
async def test_try_silence_get_command(self):
"""Should call `get_command` with `silence`."""
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
- ctx.invoked_with = "foo"
- await cog.try_silence(ctx)
+ self.ctx.invoked_with = "foo"
+ await self.cog.try_silence(self.ctx)
self.bot.get_command.assert_called_once_with("silence")
async def test_try_silence_no_permissions_to_run(self):
"""Should return `False` because missing permissions."""
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
- ctx.invoked_with = "foo"
+ self.ctx.invoked_with = "foo"
self.bot.get_command.return_value.can_run = AsyncMock(return_value=False)
- self.assertFalse(await cog.try_silence(ctx))
+ self.assertFalse(await self.cog.try_silence(self.ctx))
async def test_try_silence_no_permissions_to_run_command_error(self):
"""Should return `False` because `CommandError` raised (no permissions)."""
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
- ctx.invoked_with = "foo"
+ self.ctx.invoked_with = "foo"
self.bot.get_command.return_value.can_run = AsyncMock(side_effect=errors.CommandError())
- self.assertFalse(await cog.try_silence(ctx))
+ self.assertFalse(await self.cog.try_silence(self.ctx))
async def test_try_silence_silencing(self):
"""Should run silence command with correct arguments."""
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
self.bot.get_command.return_value.can_run = AsyncMock(return_value=True)
test_cases = ("shh", "shhh", "shhhhhh", "shhhhhhhhhhhhhhhhhhh")
for case in test_cases:
with self.subTest(message=case):
- ctx.reset_mock()
- ctx.invoked_with = case
- self.assertTrue(await cog.try_silence(ctx))
- ctx.invoke.assert_awaited_once_with(
+ self.ctx.reset_mock()
+ self.ctx.invoked_with = case
+ self.assertTrue(await self.cog.try_silence(self.ctx))
+ self.ctx.invoke.assert_awaited_once_with(
self.bot.get_command.return_value,
duration=min(case.count("h")*2, 15)
)
async def test_try_silence_unsilence(self):
"""Should call unsilence command."""
- bot = MockBot()
- silence = Silence(bot)
- silence.silence.can_run = AsyncMock(return_value=True)
- cog = ErrorHandler(bot)
- ctx = MockContext(bot=bot)
+ self.silence.silence.can_run = AsyncMock(return_value=True)
test_cases = ("unshh", "unshhhhh", "unshhhhhhhhh")
for case in test_cases:
with self.subTest(message=case):
- bot.get_command.side_effect = (silence.silence, silence.unsilence)
- ctx.reset_mock()
- ctx.invoked_with = case
- self.assertTrue(await cog.try_silence(ctx))
- ctx.invoke.assert_awaited_once_with(silence.unsilence)
+ self.bot.get_command.side_effect = (self.silence.silence, self.silence.unsilence)
+ self.ctx.reset_mock()
+ self.ctx.invoked_with = case
+ self.assertTrue(await self.cog.try_silence(self.ctx))
+ self.ctx.invoke.assert_awaited_once_with(self.silence.unsilence)
async def test_try_silence_no_match(self):
- cog = ErrorHandler(self.bot)
- ctx = MockContext(bot=self.bot)
- ctx.invoked_with = "foo"
- self.assertFalse(await cog.try_silence(ctx))
+ """Should return `False` when message don't match."""
+ self.ctx.invoked_with = "foo"
+ self.assertFalse(await self.cog.try_silence(self.ctx))