From 0d2fcd3bbfb44f731263db521bc34e39ce56c52b Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 12 Apr 2026 09:10:56 +0100 Subject: [PATCH] test(voice-call): type twilio webhook helpers --- extensions/voice-call/src/webhook.test.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/extensions/voice-call/src/webhook.test.ts b/extensions/voice-call/src/webhook.test.ts index 5a49b077cfe..e74a102f3c2 100644 --- a/extensions/voice-call/src/webhook.test.ts +++ b/extensions/voice-call/src/webhook.test.ts @@ -4,6 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { VoiceCallConfigSchema, type VoiceCallConfig } from "./config.js"; import type { CallManager } from "./manager.js"; import type { VoiceCallProvider } from "./providers/base.js"; +import type { TwilioProvider } from "./providers/twilio.js"; import type { CallRecord, NormalizedEvent } from "./types.js"; import { VoiceCallWebhookServer } from "./webhook.js"; import type { RealtimeCallHandler } from "./webhook/realtime-handler.js"; @@ -114,9 +115,19 @@ function expectWebhookUrl(url: string, expectedPath: string) { expect(parsed.port).not.toBe("0"); } +type TwilioTestProvider = VoiceCallProvider & + Pick< + TwilioProvider, + | "clearTtsQueue" + | "hasRegisteredStream" + | "isValidStreamToken" + | "registerCallStream" + | "unregisterCallStream" + >; + function createTwilioVerificationProvider( - overrides: Partial = {}, -): VoiceCallProvider { + overrides: Partial = {}, +): TwilioTestProvider { return { ...provider, name: "twilio", @@ -126,8 +137,8 @@ function createTwilioVerificationProvider( } function createTwilioStreamingProvider( - overrides: Partial = {}, -): VoiceCallProvider { + overrides: Partial = {}, +): TwilioTestProvider { return createTwilioVerificationProvider({ parseWebhookEvent: () => ({ events: [] }), initiateCall: async () => ({ providerCallId: "provider-call", status: "initiated" as const }),