diff options
author | 2019-09-22 15:15:27 -0400 | |
---|---|---|
committer | 2019-09-22 15:15:27 -0400 | |
commit | 9e30880df12d085b545ed3d429b2dcea3ea7d544 (patch) | |
tree | b3409f6be37e20ad8c4f67bcb0fe609647d6f93f /tests/utils/test_checks.py | |
parent | Make defcon days command turn on defcon, refactor log messaging (diff) | |
parent | Fix date formatting bug in infraction search (diff) |
Merge branch 'master' into defcon-fix-django
Diffstat (limited to 'tests/utils/test_checks.py')
-rw-r--r-- | tests/utils/test_checks.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/utils/test_checks.py b/tests/utils/test_checks.py new file mode 100644 index 000000000..7121acebd --- /dev/null +++ b/tests/utils/test_checks.py @@ -0,0 +1,66 @@ +from unittest.mock import MagicMock + +import pytest + +from bot.utils import checks + + +def context(): + return MagicMock() + + +def test_with_role_check_without_guild(context): + context.guild = None + + assert not checks.with_role_check(context) + + +def test_with_role_check_with_guild_without_required_role(context): + context.guild = True + context.author.roles = [] + + assert not checks.with_role_check(context) + + +def test_with_role_check_with_guild_with_required_role(context): + 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): + context.guild = None + + assert not checks.without_role_check(context) + + +def test_without_role_check_with_unwanted_role(context): + 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): + 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): + context.channel.id = 42 + assert checks.in_channel_check(context, context.channel.id) + + +def test_in_channel_check_for_incorrect_channel(context): + context.channel.id = 42 + assert not checks.in_channel_check(context, context.channel.id + 10) |