From 40ab7aca3d3f08cd9110596b7ac30fe026e5e9c7 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 24 Mar 2026 22:16:24 +0000 Subject: [PATCH] test: speed up slack monitor suites --- .../slack/src/monitor.threading.missing-thread-ts.test.ts | 8 +++++--- extensions/slack/src/monitor/auth.test.ts | 1 - .../src/monitor/message-handler.app-mention-race.test.ts | 1 - .../message-handler/prepare.thread-session-key.test.ts | 5 ++--- extensions/slack/src/monitor/slash.test.ts | 1 - 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/extensions/slack/src/monitor.threading.missing-thread-ts.test.ts b/extensions/slack/src/monitor.threading.missing-thread-ts.test.ts index 7ae9efb1d58..afb0824f5e9 100644 --- a/extensions/slack/src/monitor.threading.missing-thread-ts.test.ts +++ b/extensions/slack/src/monitor.threading.missing-thread-ts.test.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, expect, it, vi } from "vitest"; +import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { resetInboundDedupe } from "../../../src/auto-reply/reply/inbound-dedupe.js"; import { flush, @@ -71,9 +71,11 @@ beforeEach(() => { resetInboundDedupe(); }); -beforeEach(async () => { - vi.resetModules(); +beforeAll(async () => { ({ monitorSlackProvider } = await import("./monitor.js")); +}); + +beforeEach(async () => { resetInboundDedupe(); resetSlackTestState({ messages: { responsePrefix: "PFX" }, diff --git a/extensions/slack/src/monitor/auth.test.ts b/extensions/slack/src/monitor/auth.test.ts index a4195823aa6..bd6d5cbf2bc 100644 --- a/extensions/slack/src/monitor/auth.test.ts +++ b/extensions/slack/src/monitor/auth.test.ts @@ -26,7 +26,6 @@ describe("resolveSlackEffectiveAllowFrom", () => { const prevTtl = process.env.OPENCLAW_SLACK_PAIRING_ALLOWFROM_CACHE_TTL_MS; beforeAll(async () => { - vi.resetModules(); ({ clearSlackAllowFromCacheForTest, resolveSlackEffectiveAllowFrom } = await import("./auth.js")); }); diff --git a/extensions/slack/src/monitor/message-handler.app-mention-race.test.ts b/extensions/slack/src/monitor/message-handler.app-mention-race.test.ts index fd7493b1bb0..a132f2fddc1 100644 --- a/extensions/slack/src/monitor/message-handler.app-mention-race.test.ts +++ b/extensions/slack/src/monitor/message-handler.app-mention-race.test.ts @@ -118,7 +118,6 @@ async function createInFlightMessageScenario(ts: string) { describe("createSlackMessageHandler app_mention race handling", () => { beforeAll(async () => { - vi.resetModules(); ({ createSlackMessageHandler } = await import("./message-handler.js")); }); diff --git a/extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test.ts b/extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test.ts index 19ef468770c..406d96cc28a 100644 --- a/extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test.ts +++ b/extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test.ts @@ -1,5 +1,5 @@ import type { App } from "@slack/bolt"; -import { beforeEach, describe, expect, it, vi } from "vitest"; +import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../../../../../src/config/config.js"; import type { SlackMessageEvent } from "../../types.js"; @@ -48,8 +48,7 @@ function buildChannelMessage(overrides?: Partial): SlackMessa } describe("thread-level session keys", () => { - beforeEach(async () => { - vi.resetModules(); + beforeAll(async () => { await loadSlackPrepareModules(); }); diff --git a/extensions/slack/src/monitor/slash.test.ts b/extensions/slack/src/monitor/slash.test.ts index a1878dcab5a..c912325181a 100644 --- a/extensions/slack/src/monitor/slash.test.ts +++ b/extensions/slack/src/monitor/slash.test.ts @@ -185,7 +185,6 @@ let registerSlackMonitorSlashCommands: RegisterFn; const { dispatchMock } = getSlackSlashMocks(); beforeAll(async () => { - vi.resetModules(); ({ registerSlackMonitorSlashCommands } = (await import("./slash.js")) as { registerSlackMonitorSlashCommands: RegisterFn; });