mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-19 22:10:51 +00:00
* UI: stop dashboard chat history reload storm * Changelog: add PR number for chat reload fix * fix: resolve branch typecheck regressions
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import type { Mock } from "vitest";
|
|
import { vi } from "vitest";
|
|
|
|
type MatrixBotSdkMockParams = {
|
|
matrixClient?: unknown;
|
|
simpleFsStorageProvider?: unknown;
|
|
rustSdkCryptoStorageProvider?: unknown;
|
|
includeVerboseLogService?: boolean;
|
|
};
|
|
|
|
type MatrixBotSdkMock = {
|
|
ConsoleLogger: new () => {
|
|
trace: Mock<() => void>;
|
|
debug: Mock<() => void>;
|
|
info: Mock<() => void>;
|
|
warn: Mock<() => void>;
|
|
error: Mock<() => void>;
|
|
};
|
|
MatrixClient: unknown;
|
|
LogService: {
|
|
setLogger: Mock<() => void>;
|
|
warn?: Mock<() => void>;
|
|
info?: Mock<() => void>;
|
|
debug?: Mock<() => void>;
|
|
};
|
|
SimpleFsStorageProvider: unknown;
|
|
RustSdkCryptoStorageProvider: unknown;
|
|
};
|
|
|
|
export function createMatrixBotSdkMock(params: MatrixBotSdkMockParams = {}): MatrixBotSdkMock {
|
|
return {
|
|
ConsoleLogger: class {
|
|
trace = vi.fn();
|
|
debug = vi.fn();
|
|
info = vi.fn();
|
|
warn = vi.fn();
|
|
error = vi.fn();
|
|
},
|
|
MatrixClient: params.matrixClient ?? class {},
|
|
LogService: {
|
|
setLogger: vi.fn(),
|
|
...(params.includeVerboseLogService
|
|
? {
|
|
warn: vi.fn(),
|
|
info: vi.fn(),
|
|
debug: vi.fn(),
|
|
}
|
|
: {}),
|
|
},
|
|
SimpleFsStorageProvider: params.simpleFsStorageProvider ?? class {},
|
|
RustSdkCryptoStorageProvider: params.rustSdkCryptoStorageProvider ?? class {},
|
|
};
|
|
}
|