Feature/48 database (#114)
* Add database and default values * Add ability to save a setting to the database * Get commands and events to use database * Setup and config command * Update commands to check roles per server * Different rules per server Signed-off-by: Ethan Lane <ethan@vylpes.com> * Different prefix per server Signed-off-by: Ethan Lane <ethan@vylpes.com> * Add verification system Signed-off-by: Ethan Lane <ethan@vylpes.com> * Disabled commands per server * Add devmode for default prefix * Update embeds * Fix broken tests
This commit is contained in:
parent
c8edd1b4c5
commit
6a00c49ef3
53 changed files with 1816 additions and 373 deletions
|
@ -3,7 +3,7 @@ import MemberEvents from "../../src/events/MemberEvents";
|
|||
import GuildMemberUpdate from "../../src/events/MemberEvents/GuildMemberUpdate";
|
||||
|
||||
describe('GuildMemberAdd', () => {
|
||||
test('When event is fired, expect embed to be sent to logs channel', () => {
|
||||
test('When event is fired, expect embed to be sent to logs channel', async () => {
|
||||
const currentDate = new Date();
|
||||
|
||||
const textChannel = {
|
||||
|
@ -34,7 +34,7 @@ describe('GuildMemberAdd', () => {
|
|||
|
||||
const memberEvents = new MemberEvents();
|
||||
|
||||
const result = memberEvents.guildMemberAdd(guildMember);
|
||||
const result = await memberEvents.guildMemberAdd(guildMember);
|
||||
|
||||
expect(textChannel.send).toBeCalledTimes(1);
|
||||
expect(userDisplayAvatarURL).toBeCalledTimes(1);
|
||||
|
@ -63,7 +63,7 @@ describe('GuildMemberAdd', () => {
|
|||
});
|
||||
|
||||
describe('GuildMemberRemove', () => {
|
||||
test('When event is fired, expect embed to be sent to logs channel', () => {
|
||||
test('When event is fired, expect embed to be sent to logs channel', async () => {
|
||||
const currentDate = new Date();
|
||||
|
||||
const textChannel = {
|
||||
|
@ -95,7 +95,7 @@ describe('GuildMemberRemove', () => {
|
|||
|
||||
const memberEvents = new MemberEvents();
|
||||
|
||||
const result = memberEvents.guildMemberRemove(guildMember);
|
||||
const result = await memberEvents.guildMemberRemove(guildMember);
|
||||
|
||||
expect(textChannel.send).toBeCalledTimes(1);
|
||||
expect(userDisplayAvatarURL).toBeCalledTimes(1);
|
||||
|
@ -124,7 +124,7 @@ describe('GuildMemberRemove', () => {
|
|||
});
|
||||
|
||||
describe('GuildMemberUpdate', () => {
|
||||
test('Given nicknames are the same, expect NicknameChanged NOT to be called', () => {
|
||||
test('Given nicknames are the same, expect NicknameChanged NOT to be called', async () => {
|
||||
const member = {
|
||||
nickname: 'member'
|
||||
} as unknown as GuildMember;
|
||||
|
@ -135,13 +135,13 @@ describe('GuildMemberUpdate', () => {
|
|||
|
||||
const memberEvents = new MemberEvents();
|
||||
|
||||
const result = memberEvents.guildMemberUpdate(member, member);
|
||||
const result = await memberEvents.guildMemberUpdate(member, member);
|
||||
|
||||
expect(result.embeds.length).toBe(0);
|
||||
expect(nicknameChanged).not.toBeCalled();
|
||||
});
|
||||
|
||||
test('Given nicknames are the different, expect NicknameChanged to be called', () => {
|
||||
test('Given nicknames are the different, expect NicknameChanged to be called', async () => {
|
||||
const oldMember = {
|
||||
nickname: 'oldMember'
|
||||
} as unknown as GuildMember;
|
||||
|
@ -156,7 +156,7 @@ describe('GuildMemberUpdate', () => {
|
|||
|
||||
const memberEvents = new MemberEvents();
|
||||
|
||||
const result = memberEvents.guildMemberUpdate(oldMember, newMember);
|
||||
const result = await memberEvents.guildMemberUpdate(oldMember, newMember);
|
||||
|
||||
expect(result.embeds.length).toBe(0);
|
||||
expect(nicknameChanged).toBeCalledTimes(1);
|
||||
|
|
|
@ -23,7 +23,7 @@ describe('Constructor', () => {
|
|||
});
|
||||
|
||||
describe('NicknameChanged', () => {
|
||||
test('Given nickname has changed from one to another, expect embed to be sent with both', () => {
|
||||
test('Given nickname has changed from one to another, expect embed to be sent with both', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ describe('NicknameChanged', () => {
|
|||
|
||||
const guildMemberUpdate = new GuildMemberUpdate(oldMember, newMember);
|
||||
|
||||
const result = guildMemberUpdate.NicknameChanged();
|
||||
const result = await guildMemberUpdate.NicknameChanged();
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -94,7 +94,7 @@ describe('NicknameChanged', () => {
|
|||
expect(embedFieldAfter.value).toBe('New Nickname');
|
||||
});
|
||||
|
||||
test('Given old nickname was null, expect embed to say old nickname was none', () => {
|
||||
test('Given old nickname was null, expect embed to say old nickname was none', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ describe('NicknameChanged', () => {
|
|||
|
||||
const guildMemberUpdate = new GuildMemberUpdate(oldMember, newMember);
|
||||
|
||||
const result = guildMemberUpdate.NicknameChanged();
|
||||
const result = await guildMemberUpdate.NicknameChanged();
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -163,7 +163,7 @@ describe('NicknameChanged', () => {
|
|||
expect(embedFieldAfter.value).toBe('New Nickname');
|
||||
});
|
||||
|
||||
test('Given new nickname was null, expect embed to say new nickname was none', () => {
|
||||
test('Given new nickname was null, expect embed to say new nickname was none', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ describe('NicknameChanged', () => {
|
|||
|
||||
const guildMemberUpdate = new GuildMemberUpdate(oldMember, newMember);
|
||||
|
||||
const result = guildMemberUpdate.NicknameChanged();
|
||||
const result = await guildMemberUpdate.NicknameChanged();
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
|
|
@ -6,7 +6,7 @@ beforeEach(() => {
|
|||
});
|
||||
|
||||
describe('MessageDelete', () => {
|
||||
test('Given message was in a guild AND user was NOT a bot, expect message deleted embed to be sent', () => {
|
||||
test('Given message was in a guild AND user was NOT a bot, expect message deleted embed to be sent', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ describe('MessageDelete', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageDelete(message);
|
||||
const result = await messageEvents.messageDelete(message);
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -95,7 +95,7 @@ describe('MessageDelete', () => {
|
|||
expect(embedFieldAttachments.value).toBe('```image0.png\nimage1.png```');
|
||||
});
|
||||
|
||||
test('Given message was not sent in a guild, expect execution stopped', () => {
|
||||
test('Given message was not sent in a guild, expect execution stopped', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ describe('MessageDelete', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageDelete(message);
|
||||
const result = await messageEvents.messageDelete(message);
|
||||
|
||||
expect(channelSend).not.toBeCalled();
|
||||
expect(memberGuildChannelsCacheFind).not.toBeCalled();
|
||||
|
@ -147,7 +147,7 @@ describe('MessageDelete', () => {
|
|||
expect(result.embeds.length).toBe(0);
|
||||
});
|
||||
|
||||
test('Given author is a bot, expect execution stopped', () => {
|
||||
test('Given author is a bot, expect execution stopped', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ describe('MessageDelete', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageDelete(message);
|
||||
const result = await messageEvents.messageDelete(message);
|
||||
|
||||
expect(channelSend).not.toBeCalled();
|
||||
expect(memberGuildChannelsCacheFind).not.toBeCalled();
|
||||
|
@ -206,7 +206,7 @@ describe('MessageDelete', () => {
|
|||
expect(result.embeds.length).toBe(0);
|
||||
});
|
||||
|
||||
test('Given message does not contain any attachments, expect attachments field to be omitted', () => {
|
||||
test('Given message does not contain any attachments, expect attachments field to be omitted', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -244,7 +244,7 @@ describe('MessageDelete', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageDelete(message);
|
||||
const result = await messageEvents.messageDelete(message);
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -278,7 +278,7 @@ describe('MessageDelete', () => {
|
|||
});
|
||||
|
||||
describe('MessageUpdate', () => {
|
||||
test('Given message is in a guild AND user is not a bot AND the content has actually changed, e xpect log embed to be sent', () => {
|
||||
test('Given message is in a guild AND user is not a bot AND the content has actually changed, e xpect log embed to be sent', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -317,7 +317,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -357,7 +357,7 @@ describe('MessageUpdate', () => {
|
|||
expect(embedFieldAfter.value).toBe('```New Message```');
|
||||
});
|
||||
|
||||
test('Given message was not in a guild, expect execution stopped', () => {
|
||||
test('Given message was not in a guild, expect execution stopped', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -389,7 +389,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).not.toBeCalled();
|
||||
expect(memberGuildChannelsCacheFind).not.toBeCalled();
|
||||
|
@ -397,7 +397,7 @@ describe('MessageUpdate', () => {
|
|||
expect(result.embeds.length).toBe(0);
|
||||
});
|
||||
|
||||
test('Given author is a bot, expect execution stopped', () => {
|
||||
test('Given author is a bot, expect execution stopped', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -436,7 +436,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).not.toBeCalled();
|
||||
expect(memberGuildChannelsCacheFind).not.toBeCalled();
|
||||
|
@ -444,7 +444,7 @@ describe('MessageUpdate', () => {
|
|||
expect(result.embeds.length).toBe(0);
|
||||
});
|
||||
|
||||
test('Given the message contents are the same, expect execution stopped', () => {
|
||||
test('Given the message contents are the same, expect execution stopped', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -483,7 +483,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).not.toBeCalled();
|
||||
expect(memberGuildChannelsCacheFind).not.toBeCalled();
|
||||
|
@ -491,7 +491,7 @@ describe('MessageUpdate', () => {
|
|||
expect(result.embeds.length).toBe(0);
|
||||
});
|
||||
|
||||
test('Given Old Message did not have a content, expect field to account for this', () => {
|
||||
test('Given Old Message did not have a content, expect field to account for this', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -528,7 +528,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
@ -568,7 +568,7 @@ describe('MessageUpdate', () => {
|
|||
expect(embedFieldAfter.value).toBe('```New Message```');
|
||||
});
|
||||
|
||||
test('Given New Message does not have a content, expect field to account for this', () => {
|
||||
test('Given New Message does not have a content, expect field to account for this', async () => {
|
||||
process.env = {
|
||||
CHANNELS_LOGS_MOD: 'mod-logs'
|
||||
}
|
||||
|
@ -606,7 +606,7 @@ describe('MessageUpdate', () => {
|
|||
|
||||
const messageEvents = new MessageEvents();
|
||||
|
||||
const result = messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
const result = await messageEvents.messageUpdate(oldMessage, newMessage);
|
||||
|
||||
expect(channelSend).toBeCalledTimes(1);
|
||||
expect(memberGuildChannelsCacheFind).toBeCalledTimes(1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue