57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
import { vi } from "vitest";
|
|
import type { MockFn } from "../test-utils/vitest-mock-fn.js";
|
|
|
|
type DiscordWebMediaMockFactoryResult = {
|
|
loadWebMedia: MockFn;
|
|
loadWebMediaRaw: MockFn;
|
|
};
|
|
|
|
type DiscordRestFactoryResult = {
|
|
rest: import("@buape/carbon").RequestClient;
|
|
postMock: MockFn;
|
|
putMock: MockFn;
|
|
getMock: MockFn;
|
|
patchMock: MockFn;
|
|
deleteMock: MockFn;
|
|
};
|
|
|
|
export function discordWebMediaMockFactory(): DiscordWebMediaMockFactoryResult {
|
|
return {
|
|
loadWebMedia: vi.fn().mockResolvedValue({
|
|
buffer: Buffer.from("img"),
|
|
fileName: "photo.jpg",
|
|
contentType: "image/jpeg",
|
|
kind: "image",
|
|
}),
|
|
loadWebMediaRaw: vi.fn().mockResolvedValue({
|
|
buffer: Buffer.from("img"),
|
|
fileName: "asset.png",
|
|
contentType: "image/png",
|
|
kind: "image",
|
|
}),
|
|
};
|
|
}
|
|
|
|
export function makeDiscordRest(): DiscordRestFactoryResult {
|
|
const postMock = vi.fn() as unknown as MockFn;
|
|
const putMock = vi.fn() as unknown as MockFn;
|
|
const getMock = vi.fn() as unknown as MockFn;
|
|
const patchMock = vi.fn() as unknown as MockFn;
|
|
const deleteMock = vi.fn() as unknown as MockFn;
|
|
|
|
return {
|
|
rest: {
|
|
post: postMock,
|
|
put: putMock,
|
|
get: getMock,
|
|
patch: patchMock,
|
|
delete: deleteMock,
|
|
} as unknown as import("@buape/carbon").RequestClient,
|
|
postMock,
|
|
putMock,
|
|
getMock,
|
|
patchMock,
|
|
deleteMock,
|
|
};
|
|
}
|