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); }