diff --git a/extensions/telegram/src/setup-surface.test.ts b/extensions/telegram/src/setup-surface.test.ts index 83e696bea52..66de1d61bf0 100644 --- a/extensions/telegram/src/setup-surface.test.ts +++ b/extensions/telegram/src/setup-surface.test.ts @@ -31,40 +31,62 @@ async function runFinalize(cfg: OpenClawConfig, accountId: string) { return prompter.note; } +function expectPreparedResult( + prepared: Awaited>, +): { cfg: OpenClawConfig } & Exclude>, void | undefined> { + expect(prepared).toBeDefined(); + if ( + !prepared || + typeof prepared !== "object" || + !("cfg" in prepared) || + prepared.cfg === undefined + ) { + throw new Error("Expected prepare result with cfg"); + } + return prepared as { cfg: OpenClawConfig } & Exclude< + Awaited>, + void | undefined + >; +} + describe("telegramSetupWizard.prepare", () => { it('adds groups["*"].requireMention=true for fresh setups', async () => { - const prepared = await runPrepare( - { - channels: { - telegram: { - botToken: "tok", + const prepared = expectPreparedResult( + await runPrepare( + { + channels: { + telegram: { + botToken: "tok", + }, }, }, - }, - DEFAULT_ACCOUNT_ID, + DEFAULT_ACCOUNT_ID, + ), ); - expect(prepared?.cfg.channels?.telegram?.groups).toEqual({ + expect(prepared.cfg.channels?.telegram?.groups).toEqual({ "*": { requireMention: true }, }); }); it("preserves an explicit wildcard group mention setting", async () => { - const prepared = await runPrepare( - { - channels: { - telegram: { - botToken: "tok", - groups: { - "*": { requireMention: false }, + const prepared = expectPreparedResult( + await runPrepare( + { + channels: { + telegram: { + botToken: "tok", + groups: { + "*": { requireMention: false }, + }, }, }, }, - }, - DEFAULT_ACCOUNT_ID, + DEFAULT_ACCOUNT_ID, + ), ); - expect(prepared?.cfg.channels?.telegram?.groups).toEqual({ + expect(prepared.cfg.channels?.telegram?.groups).toEqual({ "*": { requireMention: false }, }); });