Merge pull request #785 from discordeno/delete-channel-tests

tests: add deleteChannel tests
This commit is contained in:
Skillz4Killz
2021-04-09 14:27:32 -04:00
committed by GitHub
6 changed files with 97 additions and 5 deletions

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,

View File

@@ -23,7 +23,7 @@ export const rest = {
// BY DEFAULT WE WILL LOG ALL ERRORS TO CONSOLE. USER CAN CHOOSE TO OVERRIDE
error: console.error,
// PLACEHOLDERS TO ALLOW USERS TO CUSTOMIZE
debug: function (_type, error) {},
debug: function (_type, error, ...args) {},
fetching() {},
fetched() {},
fetchSuccess() {},

View File

@@ -0,0 +1,27 @@
import { cache, createChannel, delay } from "../../mod.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import { 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;
// 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,
});

View File

@@ -0,0 +1,62 @@
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,
});

View File

@@ -1,6 +1,6 @@
import { cache, createGuild, delay } from "../../mod.ts";
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import { assertEquals, assertExists } from "../deps.ts";
import { assertExists } from "../deps.ts";
Deno.test({
name: "[guild] create a new guild",
@@ -13,7 +13,6 @@ Deno.test({
assertExists(guild);
tempData.guildId = guild.id;
assertEquals(tempData.guildId, guild.id);
// Delay the execution by 5 seconds to allow GUILD_CREATE event to be processed
await delay(5000);

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";