diff --git a/tests/helpers/messages/pin.ts b/tests/helpers/messages/pin.ts new file mode 100644 index 000000000..962d9beb1 --- /dev/null +++ b/tests/helpers/messages/pin.ts @@ -0,0 +1,18 @@ +import { Bot } from "../../../src/bot.ts"; +import { assertEquals } from "../../deps.ts"; + +export async function pinMessageTests(bot: Bot, channelId: bigint, messageId: bigint, t: Deno.TestContext) { + let pinned = false; + + bot.events.channelPinsUpdate = function (bot, payload) { + if (payload.channelId === channelId) pinned = !pinned; + } + + await bot.helpers.pinMessage(channelId, messageId); + + assertEquals(true, pinned); + + await bot.helpers.unpinMessage(channelId, messageId); + + assertEquals(false, pinned); +} \ No newline at end of file diff --git a/tests/mod.ts b/tests/mod.ts index 9f4d79934..2491f9d2d 100644 --- a/tests/mod.ts +++ b/tests/mod.ts @@ -17,6 +17,7 @@ import { getMessageTest } from "./helpers/messages/getMessage.ts"; import { addReactionTest } from "./helpers/messages/addReaction.ts"; import { editMessageTest } from "./helpers/messages/editMessage.ts"; import { fetchSingleMemberTest } from "./helpers/members/fetchMembers.ts"; +import { pinMessageTests } from "./helpers/messages/pin.ts"; Deno.test("[Bot] - Starting Tests", async (t) => { // CHANGE TO TRUE WHEN DEBUGGING SANITIZATION ERRORS @@ -89,6 +90,8 @@ Deno.test("[Bot] - Starting Tests", async (t) => { // ALL MESSAGE RELATED TESTS THAT DEPEND ON AN EXISTING CHANNEL await t.step("Message related tests", async (t) => { + const message = await bot.helpers.sendMessage(channel.id, "Hello Skillz"); + // CONDUCT ALL TESTS RELATED TO A MESSAGE HERE await Promise.all([ t.step({ @@ -203,6 +206,13 @@ Deno.test("[Bot] - Starting Tests", async (t) => { }, ...sanitizeMode, }), + t.step({ + name: "[message] pin a message", + fn: async (t) => { + await pinMessageTests(bot, channel.id, message.id, t); + }, + ...sanitizeMode, + }), ]); }); });