diff --git a/extensions/anthropic/index.test.ts b/extensions/anthropic/index.test.ts index 9c24443e32f..c88165fb918 100644 --- a/extensions/anthropic/index.test.ts +++ b/extensions/anthropic/index.test.ts @@ -48,8 +48,9 @@ function createModelRegistry(models: ProviderRuntimeModel[]) { } function requireRecord(value: unknown, label: string): Record { - expect(value, label).toBeTypeOf("object"); - expect(value, label).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error(`expected ${label}`); + } return value as Record; } diff --git a/extensions/google-meet/index.create.test.ts b/extensions/google-meet/index.create.test.ts index 0db05c7f624..21df2328152 100644 --- a/extensions/google-meet/index.create.test.ts +++ b/extensions/google-meet/index.create.test.ts @@ -100,8 +100,9 @@ async function runCreateMeetBrowserScript(params: { buttonText: string }) { } function requireRecord(value: unknown, label: string): Record { - expect(value, label).toBeTypeOf("object"); - expect(value, label).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error(`expected ${label}`); + } return value as Record; } diff --git a/extensions/google-meet/src/cli.test.ts b/extensions/google-meet/src/cli.test.ts index 609af14befc..c0d5327bad3 100644 --- a/extensions/google-meet/src/cli.test.ts +++ b/extensions/google-meet/src/cli.test.ts @@ -43,8 +43,9 @@ function captureStdout() { } function expectFields(value: unknown, expected: Record): void { - expect(value).toBeTypeOf("object"); - expect(value).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error("expected fields object"); + } const record = value as Record; for (const [key, expectedValue] of Object.entries(expected)) { expect(record[key], key).toEqual(expectedValue); @@ -54,8 +55,9 @@ function expectFields(value: unknown, expected: Record): void { function firstRecord(value: unknown): Record { expect(Array.isArray(value)).toBe(true); const [record] = value as unknown[]; - expect(record).toBeTypeOf("object"); - expect(record).not.toBeNull(); + if (!record || typeof record !== "object") { + throw new Error("expected first record"); + } return record as Record; } diff --git a/extensions/litellm/image-generation-provider.test.ts b/extensions/litellm/image-generation-provider.test.ts index dd3b0e6299e..9d637b0facd 100644 --- a/extensions/litellm/image-generation-provider.test.ts +++ b/extensions/litellm/image-generation-provider.test.ts @@ -63,14 +63,16 @@ function mockObjectArg(mock: unknown, index = -1): Record { const calls = (mock as { mock?: { calls?: Array> } }).mock?.calls ?? []; const call = index < 0 ? calls.at(index) : calls[index]; const [arg] = call ?? []; - expect(arg).toBeTypeOf("object"); - expect(arg).not.toBeNull(); + if (!arg || typeof arg !== "object") { + throw new Error(`expected mock object argument ${index}`); + } return arg as Record; } function expectFields(value: unknown, expected: Record): void { - expect(value).toBeTypeOf("object"); - expect(value).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error("expected fields object"); + } const record = value as Record; for (const [key, expectedValue] of Object.entries(expected)) { expect(record[key], key).toEqual(expectedValue); diff --git a/extensions/memory-wiki/src/markdown.test.ts b/extensions/memory-wiki/src/markdown.test.ts index b838d8ce346..d75fb4c9789 100644 --- a/extensions/memory-wiki/src/markdown.test.ts +++ b/extensions/memory-wiki/src/markdown.test.ts @@ -109,7 +109,6 @@ describe("toWikiPageSummary", () => { relativePath: "entities/brad.md", raw, }); - expect(summary).not.toBeNull(); if (!summary) { throw new Error("expected wiki summary"); } diff --git a/extensions/memory-wiki/src/tool.test.ts b/extensions/memory-wiki/src/tool.test.ts index b2d1a5c18ab..7eb73d78db6 100644 --- a/extensions/memory-wiki/src/tool.test.ts +++ b/extensions/memory-wiki/src/tool.test.ts @@ -3,9 +3,6 @@ import type { ResolvedMemoryWikiConfig } from "./config.js"; import { createWikiApplyTool } from "./tool.js"; function asSchemaObject(value: unknown): Record { - expect(typeof value).toBe("object"); - expect(value).not.toBeNull(); - expect(Array.isArray(value)).toBe(false); if (typeof value !== "object" || value === null || Array.isArray(value)) { throw new Error("Expected JSON schema object"); } diff --git a/extensions/ollama/src/stream-runtime.test.ts b/extensions/ollama/src/stream-runtime.test.ts index a977ed6a377..c58474bb9e4 100644 --- a/extensions/ollama/src/stream-runtime.test.ts +++ b/extensions/ollama/src/stream-runtime.test.ts @@ -29,8 +29,9 @@ type GuardedFetchCall = { }; function requireRecord(value: unknown, label: string): Record { - expect(value, label).toBeTypeOf("object"); - expect(value, label).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error(`expected ${label}`); + } return value as Record; } diff --git a/extensions/openai/media-understanding-provider.test.ts b/extensions/openai/media-understanding-provider.test.ts index 46993e11706..6b81ca8f0b1 100644 --- a/extensions/openai/media-understanding-provider.test.ts +++ b/extensions/openai/media-understanding-provider.test.ts @@ -75,8 +75,10 @@ describe("transcribeOpenAiAudio", () => { expect(form.get("language")).toBe("en"); expect(form.get("prompt")).toBe("hello"); const file = form.get("file") as Blob | { type?: string; name?: string } | null; - expect(file).not.toBeNull(); - expect(file?.type).toBe("audio/wav"); + if (!file) { + throw new Error("expected OpenAI audio file"); + } + expect(file.type).toBe("audio/wav"); if (file && "name" in file && typeof file.name === "string") { expect(file.name).toBe("voice.wav"); } diff --git a/extensions/openai/openai-provider.test.ts b/extensions/openai/openai-provider.test.ts index 128f45b3c31..569ef572ccf 100644 --- a/extensions/openai/openai-provider.test.ts +++ b/extensions/openai/openai-provider.test.ts @@ -93,8 +93,9 @@ function runWrappedPayloadCase(params: { } function expectFields(value: unknown, expected: Record): void { - expect(value).toBeTypeOf("object"); - expect(value).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error("expected fields object"); + } const record = value as Record; for (const [key, expectedValue] of Object.entries(expected)) { expect(record[key], key).toEqual(expectedValue); diff --git a/extensions/openrouter/video-generation-provider.test.ts b/extensions/openrouter/video-generation-provider.test.ts index d91186a6e3d..534a38def59 100644 --- a/extensions/openrouter/video-generation-provider.test.ts +++ b/extensions/openrouter/video-generation-provider.test.ts @@ -94,8 +94,6 @@ function requireFetchCallHeaders(index: number): Headers { } function requireRecord(value: unknown, label: string): Record { - expect(typeof value).toBe("object"); - expect(value).not.toBeNull(); if (typeof value !== "object" || value === null) { throw new Error(`${label} was not an object`); } diff --git a/extensions/qa-lab/src/cli.runtime.test.ts b/extensions/qa-lab/src/cli.runtime.test.ts index 0b23aa7e019..6968801bf3a 100644 --- a/extensions/qa-lab/src/cli.runtime.test.ts +++ b/extensions/qa-lab/src/cli.runtime.test.ts @@ -87,14 +87,16 @@ import type { QaProviderModeInput } from "./run-config.js"; function mockFirstObjectArg(mock: unknown): Record { const calls = (mock as { mock?: { calls?: Array> } }).mock?.calls ?? []; const [arg] = calls[0] ?? []; - expect(arg).toBeTypeOf("object"); - expect(arg).not.toBeNull(); + if (!arg || typeof arg !== "object") { + throw new Error("expected first mock object argument"); + } return arg as Record; } function expectFields(value: unknown, expected: Record): void { - expect(value).toBeTypeOf("object"); - expect(value).not.toBeNull(); + if (!value || typeof value !== "object") { + throw new Error("expected fields object"); + } const record = value as Record; for (const [key, expectedValue] of Object.entries(expected)) { expect(record[key], key).toEqual(expectedValue); diff --git a/extensions/senseaudio/media-understanding-provider.test.ts b/extensions/senseaudio/media-understanding-provider.test.ts index eec79267f16..6cfa195e49c 100644 --- a/extensions/senseaudio/media-understanding-provider.test.ts +++ b/extensions/senseaudio/media-understanding-provider.test.ts @@ -78,8 +78,10 @@ describe("transcribeSenseAudioAudio", () => { expect(form.get("language")).toBe("en"); expect(form.get("prompt")).toBe("hello"); const file = form.get("file") as Blob | { type?: string; name?: string } | null; - expect(file).not.toBeNull(); - expect(file?.type).toBe("audio/wav"); + if (!file) { + throw new Error("expected SenseAudio audio file"); + } + expect(file.type).toBe("audio/wav"); if (file && "name" in file && typeof file.name === "string") { expect(file.name).toBe("voice.wav"); }