aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/moderation/incidents.py2
-rw-r--r--tests/bot/exts/moderation/test_incidents.py42
2 files changed, 29 insertions, 15 deletions
diff --git a/bot/exts/moderation/incidents.py b/bot/exts/moderation/incidents.py
index 7ef4af3df..97bb32591 100644
--- a/bot/exts/moderation/incidents.py
+++ b/bot/exts/moderation/incidents.py
@@ -422,7 +422,7 @@ class Incidents(Cog):
log.trace("Deletion was confirmed")
# Deletes the message link embeds found in cache from the channel and cache.
- await self.delete_msg_link_embed(incident)
+ await self.delete_msg_link_embed(incident.id)
async def resolve_message(self, message_id: int) -> t.Optional[discord.Message]:
"""
diff --git a/tests/bot/exts/moderation/test_incidents.py b/tests/bot/exts/moderation/test_incidents.py
index 875b76057..6e97d31af 100644
--- a/tests/bot/exts/moderation/test_incidents.py
+++ b/tests/bot/exts/moderation/test_incidents.py
@@ -833,27 +833,41 @@ class TestMessageLinkEmbeds(TestIncidents):
f"as they break our rules: \n{', '.join(msg_links)}"
)
- embeds = await incidents.extract_message_links(incident_msg, self.cog_instance.bot)
- description = (
- f"**Author:** {format_user(msg.author)}\n"
- f"**Channel:** {msg.channel.mention} ({msg.channel.category}/#{msg.channel.name})\n"
- f"**Content:** {('Hello, World!' * 3000)[:300] + '...'}\n"
- )
+ with patch(
+ "bot.exts.moderation.incidents.Incidents.extract_message_links", AsyncMock()
+ ) as mock_extract_message_links:
+ embeds = mock_extract_message_links(incident_msg)
+ description = (
+ f"**Author:** {format_user(msg.author)}\n"
+ f"**Channel:** {msg.channel.mention} ({msg.channel.category}/#{msg.channel.name})\n"
+ f"**Content:** {('Hello, World!' * 3000)[:300] + '...'}\n"
+ )
- # Check number of embeds returned with number of valid links
- self.assertEqual(len(embeds), 2)
+ # Check number of embeds returned with number of valid links
+ self.assertEqual(len(embeds), 2)
- # Check for the embed descriptions
- for embed in embeds:
- self.assertEqual(embed.description, description)
+ # Check for the embed descriptions
+ for embed in embeds:
+ self.assertEqual(embed.description, description)
@patch("bot.exts.moderation.incidents.is_incident", MagicMock(return_value=True))
async def test_incident_message_edit(self):
"""Edit the incident message and check whether `extract_message_links` is called or not."""
self.cog_instance.incidents_webhook = MockAsyncWebhook() # Patch in our webhook
- edited_msg = MockMessage(id=123)
- with patch("bot.exts.moderation.incidents.extract_message_links", AsyncMock()) as mock_extract_message_links:
- await self.cog_instance.on_message_edit(MockMessage(id=123), edited_msg)
+ text_channel = MockTextChannel()
+ self.cog_instance.bot.get_channel = MagicMock(return_value=text_channel)
+ text_channel.fetch_message = AsyncMock(return_value=MockMessage())
+
+ payload = AsyncMock(
+ discord.RawMessageUpdateEvent,
+ channel_id=123,
+ message_id=456
+ )
+
+ with patch(
+ "bot.exts.moderation.incidents.Incidents.extract_message_links", AsyncMock()
+ ) as mock_extract_message_links:
+ await self.cog_instance.on_raw_message_edit(payload)
mock_extract_message_links.assert_awaited_once()