diff --git a/src/gateway/server-close.test.ts b/src/gateway/server-close.test.ts index 01d7cbb1d60..a15f62937d0 100644 --- a/src/gateway/server-close.test.ts +++ b/src/gateway/server-close.test.ts @@ -9,7 +9,10 @@ const WEBSOCKET_CLOSE_FORCE_CONTINUE_MS = 250; const HTTP_CLOSE_GRACE_MS = 1_000; const HTTP_CLOSE_FORCE_WAIT_MS = 5_000; -vi.mock("../channels/plugins/index.js", () => ({ +vi.mock("../channels/plugins/index.js", async () => ({ + ...(await vi.importActual( + "../channels/plugins/index.js", + )), listChannelPlugins: () => [], })); diff --git a/src/gateway/server-restart-sentinel.test.ts b/src/gateway/server-restart-sentinel.test.ts index 6355ea90f01..632ea857a69 100644 --- a/src/gateway/server-restart-sentinel.test.ts +++ b/src/gateway/server-restart-sentinel.test.ts @@ -33,7 +33,7 @@ const mocks = vi.hoisted(() => ({ ...a, })), getChannelPlugin: vi.fn(() => undefined), - normalizeChannelId: vi.fn((channel: string) => channel), + normalizeChannelId: vi.fn<(channel?: string | null) => string | null>(), resolveOutboundTarget: vi.fn((_params?: { to?: string }) => ({ ok: true as const, to: "+15550002", @@ -74,10 +74,23 @@ vi.mock("../utils/delivery-context.shared.js", () => ({ mergeDeliveryContext: mocks.mergeDeliveryContext, })); -vi.mock("../channels/plugins/index.js", () => ({ - getChannelPlugin: mocks.getChannelPlugin, - normalizeChannelId: mocks.normalizeChannelId, -})); +vi.mock("../channels/plugins/index.js", async () => { + return await mergeMockedModule( + await vi.importActual( + "../channels/plugins/index.js", + ), + (actual) => ({ + getChannelPlugin: mocks.getChannelPlugin, + normalizeChannelId: mocks.normalizeChannelId.mockImplementation( + (channel?: string | null) => + actual.normalizeChannelId(channel) ?? + (typeof channel === "string" && channel.trim().length > 0 + ? channel.trim().toLowerCase() + : null), + ), + }), + ); +}); vi.mock("../infra/outbound/targets.js", () => ({ resolveOutboundTarget: mocks.resolveOutboundTarget, @@ -139,6 +152,7 @@ describe("scheduleRestartSentinelWake", () => { mocks.loadSessionEntry.mockReturnValue({ cfg: {}, entry: {} }); mocks.deliveryContextFromSession.mockReset(); mocks.deliveryContextFromSession.mockReturnValue(undefined); + mocks.normalizeChannelId.mockClear(); mocks.resolveOutboundTarget.mockReset(); mocks.resolveOutboundTarget.mockReturnValue({ ok: true as const, to: "+15550002" }); mocks.deliverOutboundPayloads.mockReset();