diff options
| author | 2019-10-10 00:11:04 -0700 | |
|---|---|---|
| committer | 2019-10-10 00:11:04 -0700 | |
| commit | b57f5c0dfa298da372b44b44aa7ed668f0c4bbd9 (patch) | |
| tree | c500f0069dd5fe8c5e0626a5a91bb89ba059abf8 /tests/cogs | |
| parent | Add missing awaits and call bot as attribut (diff) | |
| parent | Merge pull request #505 from python-discord/user-log-display-name-changes (diff) | |
Merge remote-tracking branch 'origin/master' into Refactor-preparation-methods-of-cogs
Co-Authored-By: K4cePhoenix <[email protected]>
Diffstat (limited to 'tests/cogs')
| -rw-r--r-- | tests/cogs/test_information.py | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/tests/cogs/test_information.py b/tests/cogs/test_information.py index 85b2d092e..184bd2595 100644 --- a/tests/cogs/test_information.py +++ b/tests/cogs/test_information.py @@ -8,6 +8,8 @@ import pytest  from discord import (      CategoryChannel,      Colour, +    Permissions, +    Role,      TextChannel,      VoiceChannel,  ) @@ -66,6 +68,52 @@ def test_roles_info_command(cog, ctx):      assert embed.footer.text == "Total roles: 1" +def test_role_info_command(cog, ctx): +    dummy_role = MagicMock(spec=Role) +    dummy_role.name = "Dummy" +    dummy_role.colour = Colour.blurple() +    dummy_role.id = 112233445566778899 +    dummy_role.position = 10 +    dummy_role.permissions = Permissions(0) +    dummy_role.members = [ctx.author] + +    admin_role = MagicMock(spec=Role) +    admin_role.name = "Admin" +    admin_role.colour = Colour.red() +    admin_role.id = 998877665544332211 +    admin_role.position = 3 +    admin_role.permissions = Permissions(0) +    admin_role.members = [ctx.author] + +    ctx.guild.roles = [dummy_role, admin_role] + +    cog.role_info.can_run = AsyncMock() +    cog.role_info.can_run.return_value = True + +    coroutine = cog.role_info.callback(cog, ctx, dummy_role, admin_role) + +    assert asyncio.run(coroutine) is None + +    assert ctx.send.call_count == 2 + +    (_, dummy_kwargs), (_, admin_kwargs) = ctx.send.call_args_list + +    dummy_embed = dummy_kwargs["embed"] +    admin_embed = admin_kwargs["embed"] + +    assert dummy_embed.title == "Dummy info" +    assert dummy_embed.colour == Colour.blurple() + +    assert dummy_embed.fields[0].value == str(dummy_role.id) +    assert dummy_embed.fields[1].value == f"#{dummy_role.colour.value:0>6x}" +    assert dummy_embed.fields[2].value == "0.63 0.48 218" +    assert dummy_embed.fields[3].value == "1" +    assert dummy_embed.fields[4].value == "10" +    assert dummy_embed.fields[5].value == "0" + +    assert admin_embed.title == "Admin info" +    assert admin_embed.colour == Colour.red() +  # There is no argument passed in here that we can use to test,  # so the return value would change constantly.  @patch('bot.cogs.information.time_since') | 
