Skip to content
GitHub

createMockMember

function in meocord/testing Since 4.1.0

createMockMember(overrides?: MockMemberOverrides): DeepMocked<GuildMember>

Creates a mock GuildMember: a user in a server, with the roles given.

Use it for a member whose roles or permissions a guard or a handler checks, or one a command acts on.

Parameters

NameTypeDescription
overrides?MockMemberOverrides

The member's user, server, roles and nickname; see MockMemberOverrides.

overrides.user?User

The member's user, a new person unless given.

overrides.guild?Guild

The server the member is in. Unless given, the guild whose createMockGuild({ members }) it is given to, or a new mock guild.

overrides.roles?readonly Role[]

The member's roles, in roles.cache after @everyone; its permissions are theirs and @everyone's combined.

overrides.nickname?string | null

The member's nickname in the server, null unless given.

Returns

DeepMocked<GuildMember>

The mock member.

Examples

TypeScript
import { expect } from 'vitest'

const moderator = createMockInteraction(Role, { permissions: new PermissionsBitField([PermissionFlagsBits.KickMembers]) })
const user = createMockUser()
const guild = createMockGuild({ members: [createMockMember({ user, roles: [moderator] })] })
const interaction = createMockInteraction(ChatInputCommandInteraction, { commandName: 'kick', user, guildId: guild.id, guild })

expect(interaction.memberPermissions?.has(PermissionFlagsBits.KickMembers)).toBe(true)