From 7c31a9aafc1cd07dc83463aea45db0d36fbd6098 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 15:23:09 +0100 Subject: [PATCH] test: clear object shape matcher scan --- src/cli/config-cli.test.ts | 6 ++++-- src/docs/clawhub-plugin-docs.test.ts | 3 ++- src/gateway/android-node.capabilities.live.test.ts | 2 +- src/gateway/gateway-cli-backend.live-helpers.test.ts | 4 +++- src/plugins/bundled-plugin-metadata.test.ts | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/cli/config-cli.test.ts b/src/cli/config-cli.test.ts index 3500d7cfb11..6b9034ef28e 100644 --- a/src/cli/config-cli.test.ts +++ b/src/cli/config-cli.test.ts @@ -673,8 +673,10 @@ describe("config cli", () => { properties?: Record; }; expect(payload.properties?.$schema).toEqual({ type: "string" }); - expect(payload.properties?.channels).toBeTypeOf("object"); - expect(payload.properties?.channels).not.toBeNull(); + expect(payload.properties?.channels).toMatchObject({ + type: "object", + properties: { telegram: { type: "object" } }, + }); expect(payload.properties?.plugins).toBeUndefined(); expect(mockError).not.toHaveBeenCalled(); }); diff --git a/src/docs/clawhub-plugin-docs.test.ts b/src/docs/clawhub-plugin-docs.test.ts index 968b6beca17..3fd19fa4640 100644 --- a/src/docs/clawhub-plugin-docs.test.ts +++ b/src/docs/clawhub-plugin-docs.test.ts @@ -42,8 +42,9 @@ describe("ClawHub plugin docs", () => { expect(validateExternalCodePluginPackageJson(packageJson).issues).toEqual([]); expect(typeof pluginManifest.id).toBe("string"); - expect(pluginManifest.configSchema).toBeTypeOf("object"); + expect(typeof pluginManifest.configSchema).toBe("object"); expect(pluginManifest.configSchema).not.toBeNull(); + expect(Array.isArray(pluginManifest.configSchema)).toBe(false); }); it("does not tell plugin authors to use bare clawhub publish", async () => { diff --git a/src/gateway/android-node.capabilities.live.test.ts b/src/gateway/android-node.capabilities.live.test.ts index 977f8660396..bd295aa97d8 100644 --- a/src/gateway/android-node.capabilities.live.test.ts +++ b/src/gateway/android-node.capabilities.live.test.ts @@ -47,7 +47,7 @@ function asRecord(value: unknown): Record { } function expectRecord(value: unknown, label: string): Record { - expect(value, label).toBeTypeOf("object"); + expect(typeof value, label).toBe("object"); expect(value, label).not.toBeNull(); expect(Array.isArray(value), label).toBe(false); return value as Record; diff --git a/src/gateway/gateway-cli-backend.live-helpers.test.ts b/src/gateway/gateway-cli-backend.live-helpers.test.ts index 0a37a19a00e..5a0eb4e88bb 100644 --- a/src/gateway/gateway-cli-backend.live-helpers.test.ts +++ b/src/gateway/gateway-cli-backend.live-helpers.test.ts @@ -88,8 +88,10 @@ describe("gateway cli backend live helpers", () => { token: "gateway-token", }); - expect(client).toBeTypeOf("object"); + expect(typeof client).toBe("object"); expect(client).not.toBeNull(); + expect(typeof (client as { start?: unknown }).start).toBe("function"); + expect(typeof (client as { stopAndWait?: unknown }).stopAndWait).toBe("function"); expect(gatewayClientState.lastOptions).toMatchObject({ url: "ws://127.0.0.1:18789", token: "gateway-token", diff --git a/src/plugins/bundled-plugin-metadata.test.ts b/src/plugins/bundled-plugin-metadata.test.ts index 0d1dcf7c07a..8860299ad11 100644 --- a/src/plugins/bundled-plugin-metadata.test.ts +++ b/src/plugins/bundled-plugin-metadata.test.ts @@ -454,8 +454,9 @@ describe("bundled plugin metadata", () => { it("keeps config schemas on all bundled plugin manifests", () => { for (const entry of listRepoBundledPluginMetadata()) { - expect(entry.manifest.configSchema).toBeTypeOf("object"); + expect(typeof entry.manifest.configSchema).toBe("object"); expect(entry.manifest.configSchema).not.toBeNull(); + expect(Array.isArray(entry.manifest.configSchema)).toBe(false); } });