aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2019-09-15 15:07:10 +0200
committerGravatar GitHub <[email protected]>2019-09-15 15:07:10 +0200
commit4b1e7eb498d69df959d5fe349707ab7f57c8c7cf (patch)
tree82b3178c23b4ae4c5368d1c579a91b620a68ef59 /tests
parentAdding the snekbox URL to the default config, fixing typo. (diff)
parentAdd tests for `bot.utils.checks`. (diff)
Merge pull request #419 from python-discord/bot-utils-checks-tests
Add tests for `bot.utils.checks`.
Diffstat (limited to 'tests')
-rw-r--r--tests/utils/__init__.py0
-rw-r--r--tests/utils/test_checks.py67
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)