Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { beforeEach, describe, expect, it, vi } from "vitest";
import { transcribeFirstAudio } from "./audio-preflight.js";
const runAudioTranscriptionMock = vi.hoisted(() => vi.fn());
vi.mock("./audio-transcription-runner.js", () => ({
runAudioTranscription: (...args: unknown[]) => runAudioTranscriptionMock(...args),
}));
describe("transcribeFirstAudio", () => {
beforeEach(() => {
runAudioTranscriptionMock.mockReset();
});
it("runs audio preflight in auto mode when audio config is absent", async () => {
runAudioTranscriptionMock.mockResolvedValueOnce({
transcript: "voice note transcript",
attachments: [],
});
const transcript = await transcribeFirstAudio({
ctx: {
Body: "<media:audio>",
MediaPath: "/tmp/voice.ogg",
MediaType: "audio/ogg",
},
cfg: {},
});
expect(transcript).toBe("voice note transcript");
expect(runAudioTranscriptionMock).toHaveBeenCalledTimes(1);
});
it("skips audio preflight when audio config is explicitly disabled", async () => {
const transcript = await transcribeFirstAudio({
ctx: {
Body: "<media:audio>",
MediaPath: "/tmp/voice.ogg",
MediaType: "audio/ogg",
},
cfg: {
tools: {
media: {
audio: {
enabled: false,
},
},
},
},
});
expect(transcript).toBeUndefined();
expect(runAudioTranscriptionMock).not.toHaveBeenCalled();
});
});
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland