diff --git a/extensions/feishu/src/lifecycle.test-support.ts b/extensions/feishu/src/lifecycle.test-support.ts index a48a9634ccd..060b8c31315 100644 --- a/extensions/feishu/src/lifecycle.test-support.ts +++ b/extensions/feishu/src/lifecycle.test-support.ts @@ -1,5 +1,7 @@ // Feishu plugin module implements lifecycle support behavior. import { vi, type Mock } from "vitest"; +import { testingHooks as dedupTestingHooks } from "./dedup.js"; +import { testingHooks as processingClaimTestingHooks } from "./processing-claims.js"; type BoundConversation = { bindingId: string; @@ -89,6 +91,8 @@ export function getFeishuLifecycleTestMocks(): FeishuLifecycleTestMocks { } export function resetFeishuLifecycleTestMocks(): void { + dedupTestingHooks.resetFeishuDedupForTests(); + processingClaimTestingHooks.resetFeishuMessageProcessingClaimsForTests(); for (const mock of Object.values(feishuLifecycleTestMocks)) { mock.mockReset(); } diff --git a/extensions/feishu/src/processing-claims.ts b/extensions/feishu/src/processing-claims.ts index 0ee8c8c46a9..7eef314c604 100644 --- a/extensions/feishu/src/processing-claims.ts +++ b/extensions/feishu/src/processing-claims.ts @@ -58,3 +58,9 @@ export function releaseFeishuMessageProcessing( processingClaims.delete(key); } } + +export const testingHooks = { + resetFeishuMessageProcessingClaimsForTests() { + processingClaims.clear(); + }, +};