aboutsummaryrefslogtreecommitdiffstats
path: root/tests/utils/test_checks.py
diff options
context:
space:
mode:
authorGravatar sco1 <[email protected]>2019-09-22 15:15:27 -0400
committerGravatar sco1 <[email protected]>2019-09-22 15:15:27 -0400
commit9e30880df12d085b545ed3d429b2dcea3ea7d544 (patch)
treeb3409f6be37e20ad8c4f67bcb0fe609647d6f93f /tests/utils/test_checks.py
parentMake defcon days command turn on defcon, refactor log messaging (diff)
parentFix 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.py66
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)