mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 11:28:15 +00:00
[Unit Test] messages: getMessages
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
import { Bot } from "../../../src/bot.ts";
|
||||||
|
import { assertEquals, assertExists } from "../../deps.ts";
|
||||||
|
import { delayUntil } from "../../utils.ts";
|
||||||
|
|
||||||
|
export async function getMessagesTest(bot: Bot, channelId: bigint, t: Deno.TestContext) {
|
||||||
|
const message = await bot.helpers.sendMessage(channelId, "Hello World!");
|
||||||
|
const secondMessage = await bot.helpers.sendMessage(channelId, "Hello World 2!");
|
||||||
|
const thirdMessage = await bot.helpers.sendMessage(channelId, "Hello World 3!");
|
||||||
|
|
||||||
|
// Assertions
|
||||||
|
assertExists(message);
|
||||||
|
assertExists(secondMessage);
|
||||||
|
assertExists(thirdMessage);
|
||||||
|
// Delay the execution by to allow MESSAGE_CREATE event to be processed
|
||||||
|
await delayUntil(10000, () => bot.cache.messages.has(message.id) && bot.cache.messages.has(secondMessage.id) && bot.cache.messages.has(thirdMessage.id));
|
||||||
|
// Make sure the messages was created.
|
||||||
|
if (
|
||||||
|
!bot.cache.messages.has(message.id) ||
|
||||||
|
!bot.cache.messages.has(secondMessage.id) ||
|
||||||
|
!bot.cache.messages.has(thirdMessage.id)
|
||||||
|
) {
|
||||||
|
throw new Error("The message seemed to be sent but it was not cached.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fetch the messages
|
||||||
|
const fetchedMessages = await bot.helpers.getMessages(channelId, {
|
||||||
|
after: message.id,
|
||||||
|
limit: 2,
|
||||||
|
});
|
||||||
|
// Check if getMessage has worked
|
||||||
|
assertEquals(fetchedMessages?.length, 2);
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ import { TOKEN } from "../configs.ts";
|
|||||||
import { createBot, createEventHandlers, DiscordChannelTypes, startBot, stopBot } from "../mod.ts";
|
import { createBot, createEventHandlers, DiscordChannelTypes, startBot, stopBot } from "../mod.ts";
|
||||||
import { assertEquals, assertExists } from "./deps.ts";
|
import { assertEquals, assertExists } from "./deps.ts";
|
||||||
import { deleteMessageWithReasonTest, deleteMessageWithoutReasonTest } from "./helpers/messages/deleteMessage.ts";
|
import { deleteMessageWithReasonTest, deleteMessageWithoutReasonTest } from "./helpers/messages/deleteMessage.ts";
|
||||||
|
import { getMessagesTest } from "./helpers/messages/getMessages.ts";
|
||||||
import { delayUntil } from "./utils.ts";
|
import { delayUntil } from "./utils.ts";
|
||||||
|
|
||||||
// CONDUCT LOCAL TESTS FIRST BEFORE RUNNING API TEST
|
// CONDUCT LOCAL TESTS FIRST BEFORE RUNNING API TEST
|
||||||
@@ -104,6 +105,13 @@ Deno.test("[Bot] - Starting Tests", async (t) => {
|
|||||||
},
|
},
|
||||||
...sanitizeMode,
|
...sanitizeMode,
|
||||||
}),
|
}),
|
||||||
|
t.step({
|
||||||
|
name: "[message] fetch messages",
|
||||||
|
fn: async (t) => {
|
||||||
|
await getMessagesTest(bot, channel.id, t);
|
||||||
|
},
|
||||||
|
...sanitizeMode,
|
||||||
|
}),
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user