Files
discordeno/tests/messages/create_message.ts
TriForMine 3fc62b9572 tests: add create/delete/edit message tests (#787)
* tests: add create/delete/edit message tests

* Use sleep instead of delay

* Deno fmt

* Add getters to message tests

* Change back to delay

* Deno fmt

* Use function in tests

* Deno fmt
2021-04-09 21:06:12 +01:00

45 lines
1.0 KiB
TypeScript

import { cache, delay, sendMessage } from "../../mod.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import { assertExists } from "../deps.ts";
async function ifItFailsBlameWolf(type: "getter" | "raw") {
let message;
if (type === "raw") {
message = await sendMessage(tempData.channelId, "Hello World!");
} else {
const channel = await cache.channels.get(tempData.channelId);
assertExists(channel);
message = await channel.send("Hello World!");
}
// Assertions
assertExists(message);
// Delay the execution by 5 seconds to allow MESSAGE_CREATE event to be processed
await delay(5000);
if (!cache.messages.has(message.id)) {
throw new Error(
"The message seemed to be sent but it was not cached.",
);
}
}
Deno.test({
name: "[message] send a new message",
async fn() {
await ifItFailsBlameWolf("raw");
},
...defaultTestOptions,
});
Deno.test({
name: "[message] channel.send()",
async fn() {
await ifItFailsBlameWolf("getter");
},
...defaultTestOptions,
});