import { use as chaiUse, expect } from 'chai'; import chaiAsPromised from 'chai-as-promised'; import { describe, it } from 'mocha'; import { e2eCache, rest } from './utils.js'; chaiUse(chaiAsPromised); describe('Member tests', () => { it("Fetches the bot and compares the bot's id with the fetched member's id", async () => { const member = await rest.getMember(e2eCache.guildId, rest.applicationId); expect(member?.user.id).to.exist; expect(member?.user.id).to.equal(rest.applicationId.toString()); }); it('Gets a member list and checks if the bot is in the member list', async () => { const members = await rest.getMembers(e2eCache.guildId, { limit: 10 }); expect(members.some((m) => m.user.id === rest.applicationId.toString())).to.equal(true); }); // fetch a single member by id it('Fetch a single member by id', async () => { const member = await rest.getMember(e2eCache.guildId, rest.applicationId); expect(member?.user.id).to.exist; }); it("Edit a bot's nickname", async () => { const nick = 'lts20050703'; const member = await rest.editCurrentMember(e2eCache.guildId, { nick }); expect(member.nick).to.equal(nick); // Change nickname back const member2 = await rest.editCurrentMember(e2eCache.guildId, { nick: null }); expect(member2.nick).to.null; }); it('Send a direct message', async () => { // DM test only on dd unit testing bot if (rest.applicationId.toString() !== '770381961553510451') return; // Itoh Alt ID const channel = await rest.getDmChannel(750661528360845322n); expect(channel?.id).to.exist; const message = await rest.sendMessage(channel.id, { content: 'https://i.imgur.com/doG55NR.png', }); expect(message?.content).to.exist; }); });