import { describe, expect, it } from "vitest" ;
import { formatMediaUnderstandingBody } from "./format.js" ;
describe("formatMediaUnderstandingBody" , () => {
it("replaces placeholder body with transcript" , () => {
const body = formatMediaUnderstandingBody({
body: "<media:audio>" ,
outputs: [
{
kind: "audio.transcription" ,
attachmentIndex: 0 ,
text: "hello world" ,
provider: "groq" ,
},
],
});
expect(body).toBe("[Audio]\nTranscript:\nhello world" );
});
it("includes user text when body is meaningful" , () => {
const body = formatMediaUnderstandingBody({
body: "caption here" ,
outputs: [
{
kind: "audio.transcription" ,
attachmentIndex: 0 ,
text: "transcribed" ,
provider: "groq" ,
},
],
});
expect(body).toBe("[Audio]\nUser text:\ncaption here\nTranscript:\ntranscribed" );
});
it("strips leading media placeholders from user text" , () => {
const body = formatMediaUnderstandingBody({
body: "<media:audio> caption here" ,
outputs: [
{
kind: "audio.transcription" ,
attachmentIndex: 0 ,
text: "transcribed" ,
provider: "groq" ,
},
],
});
expect(body).toBe("[Audio]\nUser text:\ncaption here\nTranscript:\ntranscribed" );
});
it("keeps user text once when multiple outputs exist" , () => {
const body = formatMediaUnderstandingBody({
body: "caption here" ,
outputs: [
{
kind: "audio.transcription" ,
attachmentIndex: 0 ,
text: "audio text" ,
provider: "groq" ,
},
{
kind: "video.description" ,
attachmentIndex: 1 ,
text: "video text" ,
provider: "google" ,
},
],
});
expect(body).toBe(
[
"User text:\ncaption here" ,
"[Audio]\nTranscript:\naudio text" ,
"[Video]\nDescription:\nvideo text" ,
].join("\n\n" ),
);
});
it("formats image outputs" , () => {
const body = formatMediaUnderstandingBody({
body: "<media:image>" ,
outputs: [
{
kind: "image.description" ,
attachmentIndex: 0 ,
text: "a cat" ,
provider: "openai" ,
},
],
});
expect(body).toBe("[Image]\nDescription:\na cat" );
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland