From 765ca52915b7d431e98d2c7136ce20c82a019d2e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 06:31:10 +0100 Subject: [PATCH] test: invoke whatsapp setup validators --- extensions/whatsapp/setup-entry.test.ts | 13 ++++++++++++- extensions/whatsapp/src/channel.setup.test.ts | 10 ++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/extensions/whatsapp/setup-entry.test.ts b/extensions/whatsapp/setup-entry.test.ts index a66272eb919..6c997e225b1 100644 --- a/extensions/whatsapp/setup-entry.test.ts +++ b/extensions/whatsapp/setup-entry.test.ts @@ -16,7 +16,18 @@ describe("whatsapp setup entry", () => { const whatsappSetupPlugin = setupEntry.loadSetupPlugin(); expect(whatsappSetupPlugin.id).toBe("whatsapp"); - expect(setupEntry.loadLegacyStateMigrationDetector?.()).toEqual(expect.any(Function)); + const detectLegacyStateMigrations = setupEntry.loadLegacyStateMigrationDetector?.(); + if (!detectLegacyStateMigrations) { + throw new Error("expected WhatsApp legacy state migration detector"); + } + expect( + detectLegacyStateMigrations({ + cfg: {}, + env: {}, + oauthDir: "/tmp/openclaw-whatsapp-empty", + stateDir: "/tmp/openclaw-state", + }), + ).toEqual([]); expect(setupEntry.loadLegacySessionSurface?.()).toEqual({ canonicalizeLegacySessionKey: expect.any(Function), isLegacyGroupSessionKey: expect.any(Function), diff --git a/extensions/whatsapp/src/channel.setup.test.ts b/extensions/whatsapp/src/channel.setup.test.ts index 03773cb9fdc..b0669d2800c 100644 --- a/extensions/whatsapp/src/channel.setup.test.ts +++ b/extensions/whatsapp/src/channel.setup.test.ts @@ -183,10 +183,12 @@ describe("whatsapp setup wizard", () => { const prompt = harness.text.mock.calls[0]?.[0] as | { validate?: (value: string) => string | undefined } | undefined; - expect(prompt?.validate).toEqual(expect.any(Function)); - expect(prompt?.validate?.("abc")).toBe("Invalid number: abc"); - expect(prompt?.validate?.("whatsapp:")).toBe("Invalid number: whatsapp:"); - expect(prompt?.validate?.("+1 (555) 555-0123")).toBeUndefined(); + if (!prompt?.validate) { + throw new Error("expected owner number validator"); + } + expect(prompt.validate("abc")).toBe("Invalid number: abc"); + expect(prompt.validate("whatsapp:")).toBe("Invalid number: whatsapp:"); + expect(prompt.validate("+1 (555) 555-0123")).toBeUndefined(); }); it("supports disabled DM policy for separate-phone setup", async () => {