diff options
| -rw-r--r-- | bot/cogs/moderation/utils.py | 28 | ||||
| -rw-r--r-- | tests/bot/cogs/moderation/test_utils.py | 40 | 
2 files changed, 34 insertions, 34 deletions
diff --git a/bot/cogs/moderation/utils.py b/bot/cogs/moderation/utils.py index 5052b9048..8121a0af8 100644 --- a/bot/cogs/moderation/utils.py +++ b/bot/cogs/moderation/utils.py @@ -28,6 +28,18 @@ UserObject = t.Union[discord.Member, discord.User]  UserSnowflake = t.Union[UserObject, discord.Object]  Infraction = t.Dict[str, t.Union[str, int, bool]] +APPEAL_EMAIL = "[email protected]" + +INFRACTION_TITLE = f"Please review our rules over at {RULES_URL}" +INFRACTION_APPEAL_FOOTER = f"To appeal this infraction, send an e-mail to {APPEAL_EMAIL}" +INFRACTION_AUTHOR_NAME = "Infraction information" + +INFRACTION_DESCRIPTION_TEMPLATE = ( +    "\n**Type:** {type}\n" +    "**Expires:** {expires}\n" +    "**Reason:** {reason}\n" +) +  async def post_user(ctx: Context, user: UserSnowflake) -> t.Optional[dict]:      """ @@ -132,21 +144,21 @@ async def notify_infraction(      log.trace(f"Sending {user} a DM about their {infr_type} infraction.")      embed = discord.Embed( -        description=textwrap.dedent(f""" -            **Type:** {infr_type.capitalize()} -            **Expires:** {expires_at or "N/A"} -            **Reason:** {reason or "No reason provided."} -            """), +        description=INFRACTION_DESCRIPTION_TEMPLATE.format( +            type=infr_type.capitalize(), +            expires=expires_at or "N/A", +            reason=reason or "No reason provided." +        ),          colour=Colours.soft_red      ) -    embed.set_author(name="Infraction information", icon_url=icon_url, url=RULES_URL) -    embed.title = f"Please review our rules over at {RULES_URL}" +    embed.set_author(name=INFRACTION_AUTHOR_NAME, icon_url=icon_url, url=RULES_URL) +    embed.title = INFRACTION_TITLE      embed.url = RULES_URL      if infr_type in APPEALABLE_INFRACTIONS:          embed.set_footer( -            text="To appeal this infraction, send an e-mail to [email protected]" +            text=INFRACTION_APPEAL_FOOTER          )      return await send_private_embed(user, embed) diff --git a/tests/bot/cogs/moderation/test_utils.py b/tests/bot/cogs/moderation/test_utils.py index 52bdb5fbc..4f81a2477 100644 --- a/tests/bot/cogs/moderation/test_utils.py +++ b/tests/bot/cogs/moderation/test_utils.py @@ -9,18 +9,6 @@ from bot.cogs.moderation import utils  from bot.constants import Colours, Icons  from tests.helpers import MockBot, MockContext, MockMember, MockUser -APPEAL_EMAIL = "[email protected]" - -INFRACTION_TITLE = f"Please review our rules over at {utils.RULES_URL}" -INFRACTION_APPEAL_FOOTER = f"To appeal this infraction, send an e-mail to {APPEAL_EMAIL}" -INFRACTION_AUTHOR_NAME = "Infraction information" - -INFRACTION_DESCRIPTION_TEMPLATE = ( -    "\n**Type:** {type}\n" -    "**Expires:** {expires}\n" -    "**Reason:** {reason}\n" -) -  class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):      """Tests Moderation utils.""" @@ -82,8 +70,8 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):              {                  "args": (self.user, "ban", "2020-02-26 09:20 (23 hours and 59 minutes)"),                  "expected_output": Embed( -                    title=INFRACTION_TITLE, -                    description=INFRACTION_DESCRIPTION_TEMPLATE.format( +                    title=utils.INFRACTION_TITLE, +                    description=utils.INFRACTION_DESCRIPTION_TEMPLATE.format(                          type="Ban",                          expires="2020-02-26 09:20 (23 hours and 59 minutes)",                          reason="No reason provided." @@ -91,17 +79,17 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):                      colour=Colours.soft_red,                      url=utils.RULES_URL                  ).set_author( -                    name=INFRACTION_AUTHOR_NAME, +                    name=utils.INFRACTION_AUTHOR_NAME,                      url=utils.RULES_URL,                      icon_url=Icons.token_removed -                ).set_footer(text=INFRACTION_APPEAL_FOOTER), +                ).set_footer(text=utils.INFRACTION_APPEAL_FOOTER),                  "send_result": True              },              {                  "args": (self.user, "warning", None, "Test reason."),                  "expected_output": Embed( -                    title=INFRACTION_TITLE, -                    description=INFRACTION_DESCRIPTION_TEMPLATE.format( +                    title=utils.INFRACTION_TITLE, +                    description=utils.INFRACTION_DESCRIPTION_TEMPLATE.format(                          type="Warning",                          expires="N/A",                          reason="Test reason." @@ -109,7 +97,7 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):                      colour=Colours.soft_red,                      url=utils.RULES_URL                  ).set_author( -                    name=INFRACTION_AUTHOR_NAME, +                    name=utils.INFRACTION_AUTHOR_NAME,                      url=utils.RULES_URL,                      icon_url=Icons.token_removed                  ), @@ -118,8 +106,8 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):              {                  "args": (self.user, "note", None, None, Icons.defcon_denied),                  "expected_output": Embed( -                    title=INFRACTION_TITLE, -                    description=INFRACTION_DESCRIPTION_TEMPLATE.format( +                    title=utils.INFRACTION_TITLE, +                    description=utils.INFRACTION_DESCRIPTION_TEMPLATE.format(                          type="Note",                          expires="N/A",                          reason="No reason provided." @@ -127,7 +115,7 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):                      colour=Colours.soft_red,                      url=utils.RULES_URL                  ).set_author( -                    name=INFRACTION_AUTHOR_NAME, +                    name=utils.INFRACTION_AUTHOR_NAME,                      url=utils.RULES_URL,                      icon_url=Icons.defcon_denied                  ), @@ -136,8 +124,8 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):              {                  "args": (self.user, "mute", "2020-02-26 09:20 (23 hours and 59 minutes)", "Test", Icons.defcon_denied),                  "expected_output": Embed( -                    title=INFRACTION_TITLE, -                    description=INFRACTION_DESCRIPTION_TEMPLATE.format( +                    title=utils.INFRACTION_TITLE, +                    description=utils.INFRACTION_DESCRIPTION_TEMPLATE.format(                          type="Mute",                          expires="2020-02-26 09:20 (23 hours and 59 minutes)",                          reason="Test" @@ -145,10 +133,10 @@ class ModerationUtilsTests(unittest.IsolatedAsyncioTestCase):                      colour=Colours.soft_red,                      url=utils.RULES_URL                  ).set_author( -                    name=INFRACTION_AUTHOR_NAME, +                    name=utils.INFRACTION_AUTHOR_NAME,                      url=utils.RULES_URL,                      icon_url=Icons.defcon_denied -                ).set_footer(text=INFRACTION_APPEAL_FOOTER), +                ).set_footer(text=utils.INFRACTION_APPEAL_FOOTER),                  "send_result": False              }          ]  |