From 82e8ca20bb1f61162d1b55c6e354c68ea4cdfcf1 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Sun, 15 Sep 2019 12:57:54 +0200 Subject: Add tests for `bot.utils.checks`. --- tests/utils/test_checks.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tests/utils/test_checks.py (limited to 'tests/utils/test_checks.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) -- cgit v1.2.3 From ab21ed98d7373b80c52f007c8becb93a5edcd03a Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Sun, 15 Sep 2019 15:10:34 +0200 Subject: Use `@pytest.fixture` for creating contexts. --- tests/utils/test_checks.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'tests/utils/test_checks.py') diff --git a/tests/utils/test_checks.py b/tests/utils/test_checks.py index 915d074b3..7121acebd 100644 --- a/tests/utils/test_checks.py +++ b/tests/utils/test_checks.py @@ -1,25 +1,29 @@ from unittest.mock import MagicMock +import pytest + from bot.utils import checks -def test_with_role_check_without_guild(): - context = MagicMock() +@pytest.fixture() +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 = MagicMock() +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 = MagicMock() +def test_with_role_check_with_guild_with_required_role(context): context.guild = True role = MagicMock() role.id = 42 @@ -28,15 +32,13 @@ def test_with_role_check_with_guild_with_required_role(): assert checks.with_role_check(context, role.id) -def test_without_role_check_without_guild(): - context = MagicMock() +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 = MagicMock() +def test_without_role_check_with_unwanted_role(context): context.guild = True role = MagicMock() role.id = 42 @@ -45,8 +47,7 @@ def test_without_role_check_with_unwanted_role(): assert not checks.without_role_check(context, role.id) -def test_without_role_check_without_unwanted_role(): - context = MagicMock() +def test_without_role_check_without_unwanted_role(context): context.guild = True role = MagicMock() role.id = 42 @@ -55,13 +56,11 @@ def test_without_role_check_without_unwanted_role(): assert checks.without_role_check(context, role.id + 10) -def test_in_channel_check_for_correct_channel(): - context = MagicMock() +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 = MagicMock() +def test_in_channel_check_for_incorrect_channel(context): context.channel.id = 42 assert not checks.in_channel_check(context, context.channel.id + 10) -- cgit v1.2.3