mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 17:30:07 +00:00
30 lines
980 B
TypeScript
30 lines
980 B
TypeScript
import { Bot } from "../../../src/bot.ts";
|
|
import { Cache } from "../../../src/cache.ts";
|
|
import { assertExists } from "../../deps.ts";
|
|
import { delayUntil } from "../../utils.ts";
|
|
|
|
export async function deleteRoleTests(
|
|
bot: Bot<Cache>,
|
|
guildId: bigint,
|
|
options: { reason?: string },
|
|
t: Deno.TestContext
|
|
) {
|
|
const role = await bot.helpers.createRole(guildId, { name: "hoti" }, options.reason);
|
|
|
|
assertExists(role);
|
|
|
|
// Delay the execution to allow event to be processed
|
|
await delayUntil(10000, () => bot.cache.guilds.get(guildId)?.roles.has(role.id));
|
|
|
|
assertExists(bot.cache.guilds.get(guildId)?.roles.has(role.id));
|
|
|
|
await bot.helpers.deleteRole(guildId, role.id);
|
|
|
|
// Delay the execution to allow event to be processed
|
|
await delayUntil(10000, () => !bot.cache.guilds.get(guildId)?.roles.has(role.id));
|
|
|
|
if (bot.cache.guilds.get(guildId)?.roles.has(role.id)) {
|
|
throw new Error(`The role should have been deleted but it is still in cache.`);
|
|
}
|
|
}
|