diff options
-rw-r--r-- | tests/utils/__init__.py | 0 | ||||
-rw-r--r-- | tests/utils/test_checks.py | 67 |
2 files changed, 67 insertions, 0 deletions
diff --git a/tests/utils/__init__.py b/tests/utils/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/utils/__init__.py diff --git a/tests/utils/test_checks.py b/tests/utils/test_checks.py new file mode 100644 index 000000000..915d074b3 --- /dev/null +++ b/tests/utils/test_checks.py @@ -0,0 +1,67 @@ +from unittest.mock import MagicMock + +from bot.utils import checks + + +def test_with_role_check_without_guild(): + context = MagicMock() + context.guild = None + + assert not checks.with_role_check(context) + + +def test_with_role_check_with_guild_without_required_role(): + context = MagicMock() + context.guild = True + context.author.roles = [] + + assert not checks.with_role_check(context) + + +def test_with_role_check_with_guild_with_required_role(): + context = MagicMock() + context.guild = True + role = MagicMock() + role.id = 42 + context.author.roles = (role,) + + assert checks.with_role_check(context, role.id) + + +def test_without_role_check_without_guild(): + context = MagicMock() + context.guild = None + + assert not checks.without_role_check(context) + + +def test_without_role_check_with_unwanted_role(): + context = MagicMock() + context.guild = True + role = MagicMock() + role.id = 42 + context.author.roles = (role,) + + assert not checks.without_role_check(context, role.id) + + +def test_without_role_check_without_unwanted_role(): + context = MagicMock() + context.guild = True + role = MagicMock() + role.id = 42 + context.author.roles = (role,) + + assert checks.without_role_check(context, role.id + 10) + + +def test_in_channel_check_for_correct_channel(): + context = MagicMock() + context.channel.id = 42 + assert checks.in_channel_check(context, context.channel.id) + + +def test_in_channel_check_for_incorrect_channel(): + context = MagicMock() + context.channel.id = 42 + assert not checks.in_channel_check(context, context.channel.id + 10) |