From 112e7252373a1ec3081d2fae2beafdf2fb21b019 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 8 Apr 2026 19:54:37 +0100 Subject: [PATCH] test: reuse followup runner imports --- src/auto-reply/reply/followup-runner.test.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/auto-reply/reply/followup-runner.test.ts b/src/auto-reply/reply/followup-runner.test.ts index 2f67dec39ff..ef68f85c793 100644 --- a/src/auto-reply/reply/followup-runner.test.ts +++ b/src/auto-reply/reply/followup-runner.test.ts @@ -1,7 +1,7 @@ import fs from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; -import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../../config/config.js"; import type { SessionEntry } from "../../config/sessions/types.js"; import type { FollowupRun, QueueSettings } from "./queue.js"; @@ -16,6 +16,7 @@ let createFollowupRunner: typeof import("./followup-runner.js").createFollowupRu let clearRuntimeConfigSnapshot: typeof import("../../config/config.js").clearRuntimeConfigSnapshot; let loadSessionStore: typeof import("../../config/sessions/store.js").loadSessionStore; let saveSessionStore: typeof import("../../config/sessions/store.js").saveSessionStore; +let clearSessionStoreCacheForTest: typeof import("../../config/sessions/store.js").clearSessionStoreCacheForTest; let clearFollowupQueue: typeof import("./queue.js").clearFollowupQueue; let enqueueFollowupRun: typeof import("./queue.js").enqueueFollowupRun; let sessionRunAccounting: typeof import("./session-run-accounting.js"); @@ -286,7 +287,8 @@ async function loadFreshFollowupRunnerModuleForTest() { ({ createFollowupRunner } = await import("./followup-runner.js")); ({ clearRuntimeConfigSnapshot, setRuntimeConfigSnapshot } = await import("../../config/config.js")); - ({ loadSessionStore, saveSessionStore } = await import("../../config/sessions/store.js")); + ({ clearSessionStoreCacheForTest, loadSessionStore, saveSessionStore } = + await import("../../config/sessions/store.js")); ({ clearFollowupQueue, enqueueFollowupRun } = await import("./queue.js")); sessionRunAccounting = await import("./session-run-accounting.js"); ({ createMockFollowupRun, createMockTypingController } = await import("./test-helpers.js")); @@ -302,9 +304,11 @@ const ROUTABLE_TEST_CHANNELS = new Set([ "feishu", ]); -beforeEach(async () => { - await loadFreshFollowupRunnerModuleForTest(); +beforeAll(async () => { await loadFreshFollowupRunnerModuleForTest(); +}); + +beforeEach(() => { clearRuntimeConfigSnapshot?.(); runEmbeddedPiAgentMock.mockReset(); compactEmbeddedPiSessionMock.mockReset(); @@ -330,14 +334,13 @@ beforeEach(async () => { FOLLOWUP_TEST_SESSION_STORES.clear(); }); -afterEach(async () => { +afterEach(() => { clearRuntimeConfigSnapshot?.(); clearFollowupQueue("main"); FOLLOWUP_TEST_QUEUES.clear(); FOLLOWUP_TEST_SESSION_STORES.clear(); vi.clearAllTimers(); vi.useRealTimers(); - const { clearSessionStoreCacheForTest } = await import("../../config/sessions/store.js"); clearSessionStoreCacheForTest(); if (!FOLLOWUP_DEBUG) { return;