mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-03 22:50:26 +00:00
test: dedupe plugin provider runtime suites
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
import { afterEach, describe, it, vi } from "vitest";
|
||||
import { createTelegramTypingLease } from "./runtime-telegram-typing.js";
|
||||
import {
|
||||
createPulseWithBackgroundFailure,
|
||||
expectBackgroundTypingPulseFailuresAreSwallowed,
|
||||
expectIndependentTypingLeases,
|
||||
expectTypingPulseCount,
|
||||
expectDefaultTypingLeaseInterval,
|
||||
registerSharedTypingLeaseTests,
|
||||
} from "./typing-lease.test-support.js";
|
||||
|
||||
const TELEGRAM_TYPING_INTERVAL_MS = 2_000;
|
||||
@@ -30,47 +28,16 @@ describe("createTelegramTypingLease", () => {
|
||||
vi.useRealTimers();
|
||||
});
|
||||
|
||||
it("pulses immediately and keeps leases independent", async () => {
|
||||
await expectIndependentTypingLeases({
|
||||
createLease: createTelegramTypingLease,
|
||||
buildParams: buildTelegramTypingParams,
|
||||
});
|
||||
});
|
||||
|
||||
it("swallows background pulse failures", async () => {
|
||||
const pulse =
|
||||
createPulseWithBackgroundFailure<
|
||||
(params: {
|
||||
to: string;
|
||||
accountId?: string;
|
||||
cfg?: unknown;
|
||||
messageThreadId?: number;
|
||||
}) => Promise<unknown>
|
||||
>();
|
||||
|
||||
await expectBackgroundTypingPulseFailuresAreSwallowed({
|
||||
createLease: createTelegramTypingLease,
|
||||
pulse,
|
||||
buildParams: buildTelegramTypingParams,
|
||||
});
|
||||
registerSharedTypingLeaseTests({
|
||||
createLease: createTelegramTypingLease,
|
||||
buildParams: buildTelegramTypingParams,
|
||||
});
|
||||
|
||||
it("falls back to the default interval for non-finite values", async () => {
|
||||
vi.useFakeTimers();
|
||||
const pulse = vi.fn(async () => undefined);
|
||||
|
||||
const lease = await createTelegramTypingLease({
|
||||
to: "telegram:123",
|
||||
intervalMs: Number.NaN,
|
||||
pulse,
|
||||
await expectDefaultTypingLeaseInterval({
|
||||
createLease: createTelegramTypingLease,
|
||||
buildParams: buildTelegramTypingParams,
|
||||
defaultIntervalMs: TELEGRAM_TYPING_DEFAULT_INTERVAL_MS,
|
||||
});
|
||||
|
||||
expectTypingPulseCount(pulse, 1);
|
||||
await vi.advanceTimersByTimeAsync(TELEGRAM_TYPING_DEFAULT_INTERVAL_MS - 1);
|
||||
expectTypingPulseCount(pulse, 1);
|
||||
await vi.advanceTimersByTimeAsync(1);
|
||||
expectTypingPulseCount(pulse, 2);
|
||||
|
||||
lease.stop();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user