From 4ebfb476cbc8eee74748e271004f34244cdc9de2 Mon Sep 17 00:00:00 2001 From: Owen McGirr Date: Tue, 21 Apr 2026 18:55:20 +0100 Subject: [PATCH] Fix Gemini provider filtering --- src/__tests__/voice-utils.test.ts | 14 ++++++++++++++ src/core/voice-utils.ts | 11 +---------- 2 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 src/__tests__/voice-utils.test.ts diff --git a/src/__tests__/voice-utils.test.ts b/src/__tests__/voice-utils.test.ts new file mode 100644 index 0000000..646747c --- /dev/null +++ b/src/__tests__/voice-utils.test.ts @@ -0,0 +1,14 @@ +import { filterByProvider } from "../core/voice-utils"; +import { GeminiTTSClient } from "../engines/gemini"; + +describe("VoiceUtils", () => { + it("filters Gemini unified voices by provider", async () => { + const client = new GeminiTTSClient({ apiKey: "test-api-key" }); + const voices = await client.getVoices(); + + const geminiVoices = filterByProvider(voices, "gemini"); + + expect(geminiVoices).toHaveLength(voices.length); + expect(geminiVoices.every((voice) => voice.provider === "gemini")).toBe(true); + }); +}); diff --git a/src/core/voice-utils.ts b/src/core/voice-utils.ts index cc582fb..f02fd3c 100644 --- a/src/core/voice-utils.ts +++ b/src/core/voice-utils.ts @@ -33,16 +33,7 @@ export function filterByGender( */ export function filterByProvider( voices: UnifiedVoice[], - provider: - | "azure" - | "google" - | "ibm" - | "elevenlabs" - | "polly" - | "witai" - | "playht" - | "openai" - | "sherpa" + provider: UnifiedVoice["provider"] ): UnifiedVoice[] { return voices.filter((voice) => voice.provider === provider); }