mirror of
https://github.com/sern-handler/handler
synced 2026-06-27 18:22:14 +00:00
This commit is contained in:
46
test/setup/setup-tests.ts
Normal file
46
test/setup/setup-tests.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { vi } from 'vitest'
|
||||
|
||||
vi.mock('discord.js', async (importOriginal) => {
|
||||
const mod = await importOriginal()
|
||||
const ModalSubmitInteraction = class {
|
||||
customId;
|
||||
type = 5;
|
||||
isModalSubmit = vi.fn();
|
||||
constructor(customId) {
|
||||
this.customId = customId;
|
||||
}
|
||||
};
|
||||
const ButtonInteraction = class {
|
||||
customId;
|
||||
type = 3;
|
||||
componentType = 2;
|
||||
isButton = vi.fn();
|
||||
constructor(customId) {
|
||||
this.customId = customId;
|
||||
}
|
||||
};
|
||||
const AutocompleteInteraction = class {
|
||||
type = 4;
|
||||
option: string;
|
||||
constructor(s: string) {
|
||||
this.option = s;
|
||||
}
|
||||
options = {
|
||||
getFocused: vi.fn(),
|
||||
getSubcommand: vi.fn(),
|
||||
};
|
||||
};
|
||||
|
||||
return {
|
||||
Client : vi.fn(),
|
||||
Collection: mod.Collection,
|
||||
ComponentType: mod.ComponentType,
|
||||
InteractionType: mod.InteractionType,
|
||||
ApplicationCommandOptionType: mod.ApplicationCommandOptionType,
|
||||
ApplicationCommandType: mod.ApplicationCommandType,
|
||||
ModalSubmitInteraction,
|
||||
ButtonInteraction,
|
||||
AutocompleteInteraction,
|
||||
ChatInputCommandInteraction: vi.fn()
|
||||
};
|
||||
});
|
||||
30
test/setup/util.ts
Normal file
30
test/setup/util.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { faker } from "@faker-js/faker"
|
||||
import { CommandInitPlugin, CommandType, Module, controller } from "../../src"
|
||||
import { Processed } from "../../src/types/core-modules"
|
||||
import { vi } from 'vitest'
|
||||
|
||||
export function createRandomInitPlugin (s: 'go', mut?: Partial<Module>) {
|
||||
return CommandInitPlugin(({ module }) => {
|
||||
if(mut) {
|
||||
Object.entries(mut).forEach(([k, v]) => {
|
||||
module[k] = v
|
||||
})
|
||||
}
|
||||
return s == 'go'
|
||||
? controller.next()
|
||||
: controller.stop()
|
||||
})
|
||||
}
|
||||
|
||||
export function createRandomModule(plugins: any[]): Processed<Module> {
|
||||
return {
|
||||
type: CommandType.Both,
|
||||
meta: { id:"", absPath: "" },
|
||||
description: faker.string.alpha(),
|
||||
plugins,
|
||||
name: "cheese",
|
||||
onEvent: [],
|
||||
locals: {},
|
||||
execute: vi.fn(),
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user