tests: add channels types (#840)

This commit is contained in:
TriForMine
2021-04-13 09:26:07 +02:00
committed by GitHub
parent a2c389ec04
commit 174ec859f1
10 changed files with 480 additions and 1 deletions
+67
View File
@@ -0,0 +1,67 @@
import { cache } from "../../src/cache.ts";
import { createChannel } from "../../src/helpers/channels/create_channel.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import { delayUntil } from "../util/delay_until.ts";
import {editChannel} from "../../src/helpers/channels/edit_channel.ts";
import {assertEquals} from "../deps.ts";
async function ifItFailsBlameWolf(type: "getter" | "raw", reason?: string) {
// Create the necessary channels
const channel = await createChannel(tempData.guildId, {
name: "edit-channel",
});
// wait 5 seconds to give it time for CHANNEL_CREATE event
await delayUntil(3000, () => cache.channels.has(channel.id));
// Make sure the channel was created.
if (!cache.channels.has(channel.id)) {
throw new Error(
"The channel should have been created but it is not in the cache.",
);
}
// Edit the channel now
if (type === "raw") {
await editChannel(channel.id, {
name: "new-name"
}, reason);
} else {
await channel.edit({
name: "new-name"
});
}
// wait 5 seconds to give it time for CHANNEL_UPDATE event
await delayUntil(3000, () => cache.channels.get(channel.id)?.name === "new-name");
assertEquals(cache.channels.get(channel.id)?.name, "new-name");
}
Deno.test({
name: "[channel] edit a channel without a reason.",
async fn() {
await ifItFailsBlameWolf("raw");
},
...defaultTestOptions,
});
Deno.test({
name: "[channel] edit a channel with a reason.",
async fn() {
await ifItFailsBlameWolf("raw", "with a reason");
},
...defaultTestOptions,
});
Deno.test({
name: "[channel] channel.edit() without a reason.",
async fn() {
await ifItFailsBlameWolf("getter");
},
...defaultTestOptions,
});
Deno.test({
name: "[channel] channel.edit() with a reason.",
async fn() {
await ifItFailsBlameWolf("getter", "with a reason");
},
...defaultTestOptions,
});