49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
||
import { sanitizeAssistantReplyForUserFacing } from "../src/services/answerComposer";
|
||
|
||
describe("answer composer user-facing formatting", () => {
|
||
it("keeps intentional blank lines between semantic blocks", () => {
|
||
const source = [
|
||
"Блок 1. Статус результата",
|
||
"- Дата среза: 31.07.2020.",
|
||
"",
|
||
"Блок 2. Что учтено",
|
||
"- Контур: дебиторка 62/76.",
|
||
"",
|
||
"Блок 3. Сводка",
|
||
"- Строк: 24."
|
||
].join("\n");
|
||
|
||
const sanitized = sanitizeAssistantReplyForUserFacing(source);
|
||
|
||
expect(sanitized).toContain("Блок 1. Статус результата");
|
||
expect(sanitized).toContain("\n\nБлок 2. Что учтено\n");
|
||
expect(sanitized).toContain("\n\nБлок 3. Сводка\n");
|
||
});
|
||
|
||
it("removes debug payload and still preserves block separators", () => {
|
||
const source = [
|
||
"Итого подтвержденная дебиторка: 1.000,00 ₽.",
|
||
"",
|
||
"Блок 1. Статус результата",
|
||
"- Exact route.",
|
||
"",
|
||
"Блок 2. Что учтено",
|
||
"- Дата среза: 31.07.2020.",
|
||
"",
|
||
"### technical_debug_payload_json",
|
||
"```json",
|
||
"{\"trace_id\":\"t-1\"}",
|
||
"```"
|
||
].join("\n");
|
||
|
||
const sanitized = sanitizeAssistantReplyForUserFacing(source);
|
||
|
||
expect(sanitized).toContain("Блок 1. Статус результата");
|
||
expect(sanitized).toContain("\n\nБлок 2. Что учтено\n");
|
||
expect(sanitized).not.toContain("technical_debug_payload_json");
|
||
expect(sanitized).not.toContain("trace_id");
|
||
});
|
||
});
|
||
|