Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { describe, expect, it } from "vitest";
import type { ReplyPayload } from "../../auto-reply/types.js";
import { buildOutboundResultEnvelope } from "./envelope.js";
import type { OutboundDeliveryJson } from "./format.js";
describe("buildOutboundResultEnvelope", () => {
const delivery: OutboundDeliveryJson = {
channel: "alpha",
via: "direct",
to: "123",
messageId: "m1",
mediaUrl: null,
chatId: "c1",
};
const payloads = [{ text: "hi", mediaUrl: null, mediaUrls: undefined }];
it.each([
{
input: { delivery },
expected: delivery,
},
{
input: {
payloads,
meta: { ok: true },
},
expected: {
payloads: [{ text: "hi", mediaUrl: null, mediaUrls: undefined }],
meta: { ok: true },
},
},
])("formats outbound envelope for %j", ({ input, expected }) => {
const envelope = buildOutboundResultEnvelope(input);
expect(envelope).toEqual(expected);
if ("payloads" in input) {
expect((envelope as { payloads: unknown[] }).payloads).not.toBe(input.payloads);
}
});
it("normalizes reply payloads and keeps wrapped delivery when flattening is disabled", () => {
const payloads: ReplyPayload[] = [{ text: "hello" }];
expect(
buildOutboundResultEnvelope({
payloads,
delivery,
flattenDelivery: false,
}),
).toEqual({
payloads: [
{
text: "hello",
mediaUrl: null,
channelData: undefined,
},
],
delivery,
});
});
});
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland