From a9317a4c288ac617bf8a62a3d71e1af8a08ab340 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 16 Mar 2026 00:11:26 +0000 Subject: [PATCH] test(discord): cover startup phase logging --- .../discord/src/monitor/provider.test.ts | 32 +++++++++++++++++++ extensions/discord/src/monitor/provider.ts | 1 - 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/extensions/discord/src/monitor/provider.test.ts b/extensions/discord/src/monitor/provider.test.ts index 10d310b9a20..81f8fa9f5e1 100644 --- a/extensions/discord/src/monitor/provider.test.ts +++ b/extensions/discord/src/monitor/provider.test.ts @@ -829,4 +829,36 @@ describe("monitorDiscordProvider", () => { expect(connectedTrue).toBeDefined(); expect(connectedFalse).toBeDefined(); }); + + it("logs Discord startup phases and early gateway debug events", async () => { + const { monitorDiscordProvider } = await import("./provider.js"); + const runtime = baseRuntime(); + const emitter = new EventEmitter(); + const gateway = { emitter, isConnected: true, reconnectAttempts: 0 }; + clientGetPluginMock.mockImplementation((name: string) => + name === "gateway" ? gateway : undefined, + ); + clientFetchUserMock.mockImplementationOnce(async () => { + emitter.emit("debug", "WebSocket connection opened"); + return { id: "bot-1", username: "Molty" }; + }); + + await monitorDiscordProvider({ + config: baseConfig(), + runtime, + }); + + const messages = vi.mocked(runtime.log).mock.calls.map((call) => String(call[0])); + expect(messages.some((msg) => msg.includes("fetch-application-id:start"))).toBe(true); + expect(messages.some((msg) => msg.includes("fetch-application-id:done"))).toBe(true); + expect(messages.some((msg) => msg.includes("deploy-commands:start"))).toBe(true); + expect(messages.some((msg) => msg.includes("deploy-commands:done"))).toBe(true); + expect(messages.some((msg) => msg.includes("fetch-bot-identity:start"))).toBe(true); + expect(messages.some((msg) => msg.includes("fetch-bot-identity:done"))).toBe(true); + expect( + messages.some( + (msg) => msg.includes("gateway-debug") && msg.includes("WebSocket connection opened"), + ), + ).toBe(true); + }); }); diff --git a/extensions/discord/src/monitor/provider.ts b/extensions/discord/src/monitor/provider.ts index 8fa3335fa3a..de174b9d8bf 100644 --- a/extensions/discord/src/monitor/provider.ts +++ b/extensions/discord/src/monitor/provider.ts @@ -367,7 +367,6 @@ function logDiscordStartupPhase(params: { `discord startup [${params.accountId}] ${params.phase} ${elapsedMs}ms${suffix ? ` ${suffix}` : ""}`, ); } - function formatDiscordDeployErrorDetails(err: unknown): string { if (!err || typeof err !== "object") { return "";