Files
openclaw/src/plugins/runtime/typing-lease.test.ts
2026-03-30 00:58:04 -04:00

44 lines
1.1 KiB
TypeScript

import { afterEach, describe, it, vi } from "vitest";
import { createTypingLease } from "./typing-lease.js";
import {
expectDefaultTypingLeaseInterval,
registerSharedTypingLeaseTests,
} from "./typing-lease.test-support.js";
const TEST_TYPING_INTERVAL_MS = 2_000;
const TEST_TYPING_DEFAULT_INTERVAL_MS = 4_000;
function buildTypingLeaseParams(
pulse: (params: { target: string; lane?: string }) => Promise<unknown>,
) {
return {
defaultIntervalMs: TEST_TYPING_DEFAULT_INTERVAL_MS,
errorLabel: "test",
intervalMs: TEST_TYPING_INTERVAL_MS,
pulse,
pulseArgs: {
target: "target-1",
lane: "answer",
},
};
}
describe("createTypingLease", () => {
afterEach(() => {
vi.useRealTimers();
});
registerSharedTypingLeaseTests({
createLease: createTypingLease,
buildParams: buildTypingLeaseParams,
});
it("falls back to the default interval for non-finite values", async () => {
await expectDefaultTypingLeaseInterval({
createLease: createTypingLease,
buildParams: buildTypingLeaseParams,
defaultIntervalMs: TEST_TYPING_DEFAULT_INTERVAL_MS,
});
});
});