Files
discordeno/tests/scheduledEvents/editEvent.ts
2022-02-11 09:49:53 +00:00

77 lines
3.0 KiB
TypeScript

import { ChannelTypes } from "../../mod.ts";
import { ScheduledEventEntityType, ScheduledEventPrivacyLevel } from "../../types/guilds/scheduledEvents.ts";
import { CACHED_COMMUNITY_GUILD_ID } from "../constants.ts";
import { assertEquals } from "../deps.ts";
import { bot } from "../mod.ts";
Deno.test({
name: "[scheduled event] edit a scheduled event",
fn: async (t) => {
const channel = await bot.helpers.createChannel(CACHED_COMMUNITY_GUILD_ID, {
name: "entity",
type: ChannelTypes.GuildStageVoice,
});
const event = await bot.helpers.createScheduledEvent(CACHED_COMMUNITY_GUILD_ID, {
name: "lfg",
description: "itoh is an imposter",
scheduledStartTime: Date.now() + 600000,
privacyLevel: ScheduledEventPrivacyLevel.GuildOnly,
entityType: ScheduledEventEntityType.StageInstance,
channelId: channel.id,
});
let edited = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
name: "lfg2",
});
assertEquals(event.name, "lfg");
assertEquals(edited.name, "lfg2");
assertEquals(edited.description, "itoh is an imposter");
edited = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
description: "skillz is not an imposter",
});
assertEquals(edited.description, "skillz is not an imposter");
let edited2 = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
scheduledStartTime: edited.scheduledStartTime - 60000,
});
assertEquals(edited.scheduledStartTime > edited2.scheduledStartTime, true);
let edited3 = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
scheduledStartTime: edited.scheduledStartTime + 600000,
});
assertEquals(edited2.scheduledStartTime < edited3.scheduledStartTime, true);
const voice = await bot.helpers.createChannel(CACHED_COMMUNITY_GUILD_ID, {
name: "xxx",
type: ChannelTypes.GuildVoice,
});
edited2 = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
entityType: ScheduledEventEntityType.Voice,
channelId: voice.id,
});
assertEquals(edited.entityType, ScheduledEventEntityType.StageInstance);
assertEquals(edited2.entityType, ScheduledEventEntityType.Voice);
edited2 = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
entityType: ScheduledEventEntityType.External,
// @ts-ignore
channelId: null,
scheduledStartTime: Date.now() + 60000,
scheduledEndTime: Date.now() + 600000,
location: "heaven",
});
assertEquals(edited2.entityType, ScheduledEventEntityType.External);
edited3 = await bot.helpers.editScheduledEvent(CACHED_COMMUNITY_GUILD_ID, event.id, {
entityType: ScheduledEventEntityType.Voice,
channelId: voice.id,
});
assertEquals(edited2.entityType, ScheduledEventEntityType.External);
assertEquals(edited3.entityType, ScheduledEventEntityType.Voice);
await bot.helpers.deleteChannel(voice.id);
await bot.helpers.deleteChannel(channel.id);
},
});