29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
import { Collection, GuildMember, Role } from "discord.js"
|
|
import { filterRolesFromMemberUpdate } from "../../server/helper/roleFilter"
|
|
|
|
function buildFakeRole(id: string, name: string): Role {
|
|
return <Role>{ id, name }
|
|
|
|
}
|
|
test('filterRolesFromMemberUpdate', () => {
|
|
const oldMemberRoles: Collection<string, Role> = new Collection<string, Role>()
|
|
oldMemberRoles.set('1', buildFakeRole('01', 'Role01'))
|
|
oldMemberRoles.set('2', buildFakeRole('02', 'Role02'))
|
|
|
|
const newMemberRoles: Collection<string, Role> = new Collection<string, Role>()
|
|
newMemberRoles.set('1', buildFakeRole('01', 'Role01'))
|
|
newMemberRoles.set('2', buildFakeRole('02', 'Role02'))
|
|
newMemberRoles.set('3', buildFakeRole('03', 'Role03'))
|
|
|
|
const oldMember: GuildMember = <GuildMember>{ roles: { cache: oldMemberRoles }, guild: { id: "guildid" } }
|
|
const newMember: GuildMember = <GuildMember>{ roles: { cache: newMemberRoles }, guild: { id: "guildid" } }
|
|
const output = filterRolesFromMemberUpdate(oldMember, newMember)
|
|
|
|
const expectedAddedRoles: Collection<string, Role> = new Collection<string, Role>()
|
|
expectedAddedRoles.set('3', buildFakeRole('03', 'Role03'))
|
|
const expectedRemovedRoles: Collection<string, Role> = new Collection<string, Role>()
|
|
|
|
expect(output.addedRoles).toEqual(expectedAddedRoles)
|
|
expect(output.removedRoles).toEqual(expectedRemovedRoles)
|
|
})
|