* refactor: move Discord channel implementation to extensions/discord/src/ Move all Discord source files from src/discord/ to extensions/discord/src/, following the extension migration pattern. Source files in src/discord/ are replaced with re-export shims. Channel-plugin files from src/channels/plugins/*/discord* are similarly moved and shimmed. - Copy all .ts source files preserving subdirectory structure (monitor/, voice/) - Move channel-plugin files (actions, normalize, onboarding, outbound, status-issues) - Fix all relative imports to use correct paths from new location - Create re-export shims at original locations for backward compatibility - Delete test files from shim locations (tests live in extension now) - Update tsconfig.plugin-sdk.dts.json rootDir from "src" to "." to accommodate extension files outside src/ - Update write-plugin-sdk-entry-dts.ts to match new declaration output paths * fix: add importOriginal to thread-bindings session-meta mock for extensions test * style: fix formatting in thread-bindings lifecycle test
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
import { vi } from "vitest";
|
|
import type { MockFn } from "../../../src/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,
|
|
};
|
|
}
|