mirror of https://github.com/openclaw/openclaw.git
test: trim helper partial mocks
This commit is contained in:
parent
183601c347
commit
f3a6d13965
|
|
@ -3,9 +3,9 @@ import { vi } from "vitest";
|
|||
type PiAiMockModule = Record<string, unknown>;
|
||||
|
||||
export async function createPiAiStreamSimpleMock(
|
||||
importOriginal: () => Promise<PiAiMockModule>,
|
||||
loadActual: () => Promise<PiAiMockModule>,
|
||||
): Promise<PiAiMockModule> {
|
||||
const original = await importOriginal();
|
||||
const original = await loadActual();
|
||||
return {
|
||||
...original,
|
||||
streamSimple: vi.fn(() => ({
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ export function scanDirectoryWithSummaryFromMock(...args: unknown[]) {
|
|||
}
|
||||
|
||||
export async function mockSkillScannerModule(
|
||||
importOriginal: () => Promise<typeof import("../security/skill-scanner.js")>,
|
||||
loadActual: () => Promise<typeof import("../security/skill-scanner.js")>,
|
||||
) {
|
||||
const actual = await importOriginal();
|
||||
const actual = await loadActual();
|
||||
return {
|
||||
...actual,
|
||||
scanDirectoryWithSummary: scanDirectoryWithSummaryFromMock,
|
||||
|
|
|
|||
|
|
@ -28,8 +28,9 @@ vi.mock("../tools/web-tools.js", () => ({
|
|||
createWebFetchTool: () => null,
|
||||
}));
|
||||
|
||||
vi.mock("../../plugins/tools.js", async (importOriginal) => {
|
||||
const mod = await importOriginal<typeof import("../../plugins/tools.js")>();
|
||||
vi.mock("../../plugins/tools.js", async () => {
|
||||
const mod =
|
||||
await vi.importActual<typeof import("../../plugins/tools.js")>("../../plugins/tools.js");
|
||||
return {
|
||||
...mod,
|
||||
resolvePluginTools: () => [],
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import { vi } from "vitest";
|
||||
|
||||
vi.mock("../../config/config.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../../config/config.js")>();
|
||||
vi.mock("../../config/config.js", async () => {
|
||||
const actual =
|
||||
await vi.importActual<typeof import("../../config/config.js")>("../../config/config.js");
|
||||
return {
|
||||
...actual,
|
||||
loadConfig: () => ({}),
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ import { vi } from "vitest";
|
|||
import { createMockTypingController } from "./reply.test-helpers.js";
|
||||
|
||||
export function registerGetReplyCommonMocks(): void {
|
||||
vi.mock("../../agents/agent-scope.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../../agents/agent-scope.js")>();
|
||||
vi.mock("../../agents/agent-scope.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../../agents/agent-scope.js")>(
|
||||
"../../agents/agent-scope.js",
|
||||
);
|
||||
return {
|
||||
...actual,
|
||||
resolveAgentDir: vi.fn(() => "/tmp/agent"),
|
||||
|
|
@ -12,8 +14,10 @@ export function registerGetReplyCommonMocks(): void {
|
|||
resolveAgentSkillsFilter: vi.fn(() => undefined),
|
||||
};
|
||||
});
|
||||
vi.mock("../../agents/model-selection.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../../agents/model-selection.js")>();
|
||||
vi.mock("../../agents/model-selection.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../../agents/model-selection.js")>(
|
||||
"../../agents/model-selection.js",
|
||||
);
|
||||
return {
|
||||
...actual,
|
||||
resolveModelRefFromString: vi.fn(() => null),
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ export function buildDispatchInboundCaptureMock<T extends Record<string, unknown
|
|||
}
|
||||
|
||||
export async function buildDispatchInboundContextCapture(
|
||||
importOriginal: <T extends Record<string, unknown>>() => Promise<T>,
|
||||
loadActual: <T extends Record<string, unknown>>() => Promise<T>,
|
||||
capture: InboundContextCapture,
|
||||
) {
|
||||
const actual = await importOriginal<typeof import("../../../auto-reply/dispatch.js")>();
|
||||
const actual = await loadActual<typeof import("../../../auto-reply/dispatch.js")>();
|
||||
return buildDispatchInboundCaptureMock(actual, (ctx) => {
|
||||
capture.ctx = ctx as MsgContext;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -64,10 +64,10 @@ export function createCliRuntimeCapture(): CliRuntimeCapture {
|
|||
}
|
||||
|
||||
export async function mockRuntimeModule<TModule extends { defaultRuntime: OutputRuntimeEnv }>(
|
||||
importOriginal: () => Promise<TModule>,
|
||||
loadActual: () => Promise<TModule>,
|
||||
defaultRuntime: TModule["defaultRuntime"],
|
||||
): Promise<TModule> {
|
||||
const actual = await importOriginal();
|
||||
const actual = await loadActual();
|
||||
return {
|
||||
...actual,
|
||||
defaultRuntime: {
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ export const replaceConfigFileMock: Mock<(...args: unknown[]) => Promise<unknown
|
|||
},
|
||||
) as Mock<(...args: unknown[]) => Promise<unknown>>;
|
||||
|
||||
vi.mock("../config/config.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../config/config.js")>();
|
||||
vi.mock("../config/config.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../config/config.js")>("../config/config.js");
|
||||
return await mergeMockedModule(actual, () => ({
|
||||
readConfigFileSnapshot: (...args: Parameters<typeof actual.readConfigFileSnapshot>) =>
|
||||
readConfigFileSnapshotMock(...args) as ReturnType<typeof actual.readConfigFileSnapshot>,
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ export const offsetMocks: {
|
|||
deleteTelegramUpdateOffset: vi.fn().mockResolvedValue(undefined) as unknown as MockFn,
|
||||
};
|
||||
|
||||
vi.mock("../config/config.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../config/config.js")>();
|
||||
vi.mock("../config/config.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../config/config.js")>("../config/config.js");
|
||||
return {
|
||||
...actual,
|
||||
readConfigFileSnapshot: configMocks.readConfigFileSnapshot,
|
||||
|
|
@ -37,13 +37,12 @@ vi.mock("../config/config.js", async (importOriginal) => {
|
|||
};
|
||||
});
|
||||
|
||||
vi.mock(
|
||||
buildBundledPluginModuleId("telegram", "update-offset-runtime-api.js"),
|
||||
async (importOriginal) => {
|
||||
const actual: Record<string, unknown> = await importOriginal();
|
||||
return {
|
||||
...actual,
|
||||
deleteTelegramUpdateOffset: offsetMocks.deleteTelegramUpdateOffset,
|
||||
};
|
||||
},
|
||||
);
|
||||
vi.mock(buildBundledPluginModuleId("telegram", "update-offset-runtime-api.js"), async () => {
|
||||
const actual: Record<string, unknown> = await vi.importActual(
|
||||
buildBundledPluginModuleId("telegram", "update-offset-runtime-api.js"),
|
||||
);
|
||||
return {
|
||||
...actual,
|
||||
deleteTelegramUpdateOffset: offsetMocks.deleteTelegramUpdateOffset,
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,8 +14,10 @@ vi.mock("../agents/model-catalog.js", () => ({
|
|||
loadModelCatalog: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../agents/model-selection.js", async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import("../agents/model-selection.js")>();
|
||||
vi.mock("../agents/model-selection.js", async () => {
|
||||
const actual = await vi.importActual<typeof import("../agents/model-selection.js")>(
|
||||
"../agents/model-selection.js",
|
||||
);
|
||||
return {
|
||||
...actual,
|
||||
isCliProvider: vi.fn(() => false),
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ import type * as SessionWriteLockModule from "../agents/session-write-lock.js";
|
|||
type SessionWriteLockModuleShape = typeof SessionWriteLockModule;
|
||||
|
||||
export async function buildSessionWriteLockModuleMock(
|
||||
importOriginal: () => Promise<SessionWriteLockModuleShape>,
|
||||
loadActual: () => Promise<SessionWriteLockModuleShape>,
|
||||
acquireSessionWriteLock: SessionWriteLockModuleShape["acquireSessionWriteLock"],
|
||||
): Promise<SessionWriteLockModuleShape> {
|
||||
const original = await importOriginal();
|
||||
const original = await loadActual();
|
||||
return {
|
||||
...original,
|
||||
acquireSessionWriteLock,
|
||||
|
|
@ -19,9 +19,9 @@ export function resetModulesWithSessionWriteLockDoMock(
|
|||
acquireSessionWriteLock: SessionWriteLockModuleShape["acquireSessionWriteLock"],
|
||||
): void {
|
||||
vi.resetModules();
|
||||
vi.doMock(modulePath, (importOriginal) =>
|
||||
vi.doMock(modulePath, () =>
|
||||
buildSessionWriteLockModuleMock(
|
||||
importOriginal as () => Promise<SessionWriteLockModuleShape>,
|
||||
() => vi.importActual<SessionWriteLockModuleShape>(modulePath),
|
||||
acquireSessionWriteLock,
|
||||
),
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue