diff --git a/src/gateway/server-methods/nodes.invoke-wake.test.ts b/src/gateway/server-methods/nodes.invoke-wake.test.ts index 35533ec76ab..2af57fce733 100644 --- a/src/gateway/server-methods/nodes.invoke-wake.test.ts +++ b/src/gateway/server-methods/nodes.invoke-wake.test.ts @@ -8,6 +8,7 @@ import { nodeHandlers, waitForNodeReconnect, } from "./nodes.js"; +import { expectRecordFields, requireRecord } from "../test-helpers.assertions.js"; type MockNodeCommandPolicyParams = { command: string; @@ -94,27 +95,6 @@ type TestNodeSession = { platform?: string; }; -function isRecord(value: unknown): value is Record { - return typeof value === "object" && value !== null && !Array.isArray(value); -} - -function requireRecord(value: unknown, label: string): Record { - expect(isRecord(value), `${label} must be an object`).toBe(true); - return value as Record; -} - -function expectRecordFields( - value: unknown, - label: string, - expected: Record, -): Record { - const record = requireRecord(value, label); - for (const [key, expectedValue] of Object.entries(expected)) { - expect(record[key], `${label}.${key}`).toEqual(expectedValue); - } - return record; -} - function requireString(value: unknown, label: string): string { expect(typeof value, `${label} must be a string`).toBe("string"); return value as string; diff --git a/src/gateway/talk-transcription-relay.test.ts b/src/gateway/talk-transcription-relay.test.ts index eff052efc83..4ebd5e7f5f5 100644 --- a/src/gateway/talk-transcription-relay.test.ts +++ b/src/gateway/talk-transcription-relay.test.ts @@ -8,6 +8,7 @@ import { sendTalkTranscriptionRelayAudio, stopTalkTranscriptionRelaySession, } from "./talk-transcription-relay.js"; +import { expectRecordFields, isRecord, requireRecord } from "./test-helpers.assertions.js"; type BroadcastEvent = { event: string; payload: unknown; connIds: string[] }; @@ -63,27 +64,6 @@ async function createStartedRelaySession( return { provider, events, session }; } -function isRecord(value: unknown): value is Record { - return typeof value === "object" && value !== null && !Array.isArray(value); -} - -function requireRecord(value: unknown, label: string): Record { - expect(isRecord(value), `${label} must be an object`).toBe(true); - return value as Record; -} - -function expectRecordFields( - value: unknown, - label: string, - expected: Record, -): Record { - const record = requireRecord(value, label); - for (const [key, expectedValue] of Object.entries(expected)) { - expect(record[key], `${label}.${key}`).toEqual(expectedValue); - } - return record; -} - function findPayloadByType(events: BroadcastEvent[], type: string): Record { const event = events.find((candidate) => { const payload = candidate.payload; diff --git a/src/gateway/test-helpers.assertions.ts b/src/gateway/test-helpers.assertions.ts new file mode 100644 index 00000000000..d56bbee0f09 --- /dev/null +++ b/src/gateway/test-helpers.assertions.ts @@ -0,0 +1,22 @@ +import { expect } from "vitest"; + +export function isRecord(value: unknown): value is Record { + return typeof value === "object" && value !== null && !Array.isArray(value); +} + +export function requireRecord(value: unknown, label: string): Record { + expect(isRecord(value), `${label} must be an object`).toBe(true); + return value as Record; +} + +export function expectRecordFields( + value: unknown, + label: string, + expected: Record, +): Record { + const record = requireRecord(value, label); + for (const [key, expectedValue] of Object.entries(expected)) { + expect(record[key], `${label}.${key}`).toEqual(expectedValue); + } + return record; +}