mirror of https://github.com/openclaw/openclaw.git
test: add explicit harness mock types
This commit is contained in:
parent
123ae82fca
commit
f94c06c53f
|
|
@ -256,7 +256,12 @@ vi.mock("./doctor-state-migrations.js", () => ({
|
|||
runLegacyStateMigrations,
|
||||
}));
|
||||
|
||||
export async function arrangeLegacyStateMigrationTest() {
|
||||
export async function arrangeLegacyStateMigrationTest(): Promise<{
|
||||
doctorCommand: unknown;
|
||||
runtime: { log: MockFn; error: MockFn; exit: MockFn };
|
||||
detectLegacyStateMigrations: MockFn;
|
||||
runLegacyStateMigrations: MockFn;
|
||||
}> {
|
||||
readConfigFileSnapshot.mockResolvedValue({
|
||||
path: "/tmp/openclaw.json",
|
||||
exists: true,
|
||||
|
|
@ -270,9 +275,9 @@ export async function arrangeLegacyStateMigrationTest() {
|
|||
|
||||
const { doctorCommand } = await import("./doctor.js");
|
||||
const runtime = {
|
||||
log: vi.fn(),
|
||||
error: vi.fn(),
|
||||
exit: vi.fn(),
|
||||
log: vi.fn() as unknown as MockFn,
|
||||
error: vi.fn() as unknown as MockFn,
|
||||
exit: vi.fn() as unknown as MockFn,
|
||||
};
|
||||
|
||||
detectLegacyStateMigrations.mockClear();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,21 @@
|
|||
import { vi } from "vitest";
|
||||
import type { MockFn } from "../test-utils/vitest-mock-fn.js";
|
||||
|
||||
export function discordWebMediaMockFactory() {
|
||||
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"),
|
||||
|
|
@ -17,12 +32,12 @@ export function discordWebMediaMockFactory() {
|
|||
};
|
||||
}
|
||||
|
||||
export function makeDiscordRest() {
|
||||
const postMock = vi.fn();
|
||||
const putMock = vi.fn();
|
||||
const getMock = vi.fn();
|
||||
const patchMock = vi.fn();
|
||||
const deleteMock = vi.fn();
|
||||
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: {
|
||||
|
|
|
|||
|
|
@ -1,18 +1,31 @@
|
|||
import { beforeEach, vi } from "vitest";
|
||||
import type { MockFn } from "../test-utils/vitest-mock-fn.js";
|
||||
import { resetInboundDedupe } from "../auto-reply/reply/inbound-dedupe.js";
|
||||
import { resetSystemEventsForTest } from "../infra/system-events.js";
|
||||
|
||||
const waitForTransportReadyMock = vi.hoisted(() => vi.fn());
|
||||
const sendMock = vi.hoisted(() => vi.fn());
|
||||
const replyMock = vi.hoisted(() => vi.fn());
|
||||
const updateLastRouteMock = vi.hoisted(() => vi.fn());
|
||||
const readAllowFromStoreMock = vi.hoisted(() => vi.fn());
|
||||
const upsertPairingRequestMock = vi.hoisted(() => vi.fn());
|
||||
const streamMock = vi.hoisted(() => vi.fn());
|
||||
const signalCheckMock = vi.hoisted(() => vi.fn());
|
||||
const signalRpcRequestMock = vi.hoisted(() => vi.fn());
|
||||
type SignalToolResultTestMocks = {
|
||||
waitForTransportReadyMock: MockFn;
|
||||
sendMock: MockFn;
|
||||
replyMock: MockFn;
|
||||
updateLastRouteMock: MockFn;
|
||||
readAllowFromStoreMock: MockFn;
|
||||
upsertPairingRequestMock: MockFn;
|
||||
streamMock: MockFn;
|
||||
signalCheckMock: MockFn;
|
||||
signalRpcRequestMock: MockFn;
|
||||
};
|
||||
|
||||
export function getSignalToolResultTestMocks() {
|
||||
const waitForTransportReadyMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const sendMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const replyMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const updateLastRouteMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const readAllowFromStoreMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const upsertPairingRequestMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const streamMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const signalCheckMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
const signalRpcRequestMock = vi.hoisted(() => vi.fn()) as unknown as MockFn;
|
||||
|
||||
export function getSignalToolResultTestMocks(): SignalToolResultTestMocks {
|
||||
return {
|
||||
waitForTransportReadyMock,
|
||||
sendMock,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { beforeEach, vi } from "vitest";
|
||||
import type { MockFn } from "../test-utils/vitest-mock-fn.js";
|
||||
|
||||
const { botApi, botCtorSpy } = vi.hoisted(() => ({
|
||||
botApi: {
|
||||
|
|
@ -20,6 +21,13 @@ const { loadConfig } = vi.hoisted(() => ({
|
|||
loadConfig: vi.fn(() => ({})),
|
||||
}));
|
||||
|
||||
type TelegramSendTestMocks = {
|
||||
botApi: Record<string, MockFn>;
|
||||
botCtorSpy: MockFn;
|
||||
loadConfig: MockFn;
|
||||
loadWebMedia: MockFn;
|
||||
};
|
||||
|
||||
vi.mock("../web/media.js", () => ({
|
||||
loadWebMedia,
|
||||
}));
|
||||
|
|
@ -48,7 +56,7 @@ vi.mock("../config/config.js", async (importOriginal) => {
|
|||
};
|
||||
});
|
||||
|
||||
export function getTelegramSendTestMocks() {
|
||||
export function getTelegramSendTestMocks(): TelegramSendTestMocks {
|
||||
return { botApi, botCtorSpy, loadConfig, loadWebMedia };
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue