tests: add deleteChannel tests

This commit is contained in:
Skillz4Killz
2021-04-09 17:20:41 +00:00
committed by GitHub
parent 16f5293211
commit a44f968745
4 changed files with 90 additions and 2 deletions
-2
View File
@@ -14,7 +14,6 @@ import {
/** Create a channel in your server. Bot needs MANAGE_CHANNEL permissions in the server. */
export async function createChannel(
guildId: string,
name: string,
options?: CreateGuildChannel,
) {
const requiredPerms: Set<PermissionStrings> = new Set(["MANAGE_CHANNELS"]);
@@ -31,7 +30,6 @@ export async function createChannel(
endpoints.GUILD_CHANNELS(guildId),
{
...options,
name,
permission_overwrites: options?.permissionOverwrites?.map((perm) => ({
...perm,
+26
View File
@@ -0,0 +1,26 @@
import { cache, createChannel, delay } from "../../mod.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import { assertEquals, assertExists } from "../deps.ts";
Deno.test({
name: "[channel] create a new channel",
async fn() {
const channel = await createChannel(tempData.guildId, {
name: "Discordeno-test",
});
// Assertions
assertExists(channel);
tempData.channelId = channel.id;
assertEquals(tempData.channelId, channel.id);
// Delay the execution by 5 seconds to allow CHANNEL_CREATE event to be processed
await delay(5000);
if (!cache.channels.has(channel.id)) {
throw new Error("The channel seemed to be created but it was not cached.");
}
},
...defaultTestOptions,
});
+58
View File
@@ -0,0 +1,58 @@
import { cache, createChannel, delay, deleteChannel } from "../../mod.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
Deno.test({
name: "[channel] delete a channel without a reason.",
async fn() {
// Create the necessary channels
const channel = await createChannel(tempData.guildId, {
name: "delete-channel",
});
// wait 5 seconds to give it time for CHANNEL_CREATE event
await delay(5000);
// 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."
);
// Delete the channel now without a reason
await deleteChannel(tempData.guildId, channel.id);
// wait 5 seconds to give it time for CHANNEL_DELETE event
await delay(5000);
// Make sure it is gone from cache
if (cache.channels.has(channel.id))
throw new Error(
"The channel should have been deleted but it is still in cache."
);
},
...defaultTestOptions,
});
Deno.test({
name: "[channel] delete a channel with a reason.",
async fn() {
// Create the necessary channels
const channel = await createChannel(tempData.guildId, {
name: "delete-channel",
});
// wait 5 seconds to give it time for CHANNEL_CREATE event
await delay(5000);
// 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."
);
// Delete the channel now without a reason
await deleteChannel(tempData.guildId, channel.id, "with a reason");
// wait 5 seconds to give it time for CHANNEL_DELETE event
await delay(5000);
// Make sure it is gone from cache
if (cache.channels.has(channel.id))
throw new Error(
"The channel should have been deleted but it is still in cache."
);
},
...defaultTestOptions,
});
+6
View File
@@ -10,5 +10,11 @@ import "./util/utils.ts";
// First initate the connection
import "./ws/start_bot.ts";
import "./guilds/create_guild.ts";
// Channel tests
import "./channels/create_channel.ts";
import "./channels/delete_channel.ts";
// Final cleanup
import "./guilds/delete_server.ts";
import "./ws/ws_close.ts";