mirror of https://github.com/openclaw/openclaw.git
33 lines
764 B
TypeScript
33 lines
764 B
TypeScript
import { vi } from "vitest";
|
|
import { createEditorSubmitHandler } from "./tui-submit.js";
|
|
|
|
type MockFn = ReturnType<typeof vi.fn>;
|
|
|
|
export type SubmitHarness = {
|
|
editor: {
|
|
setText: MockFn;
|
|
addToHistory: MockFn;
|
|
};
|
|
handleCommand: MockFn;
|
|
sendMessage: MockFn;
|
|
handleBangLine: MockFn;
|
|
onSubmit: (text: string) => void;
|
|
};
|
|
|
|
export function createSubmitHarness(): SubmitHarness {
|
|
const editor = {
|
|
setText: vi.fn(),
|
|
addToHistory: vi.fn(),
|
|
};
|
|
const handleCommand = vi.fn();
|
|
const sendMessage = vi.fn();
|
|
const handleBangLine = vi.fn();
|
|
const onSubmit = createEditorSubmitHandler({
|
|
editor,
|
|
handleCommand,
|
|
sendMessage,
|
|
handleBangLine,
|
|
});
|
|
return { editor, handleCommand, sendMessage, handleBangLine, onSubmit };
|
|
}
|