АРЧ АП11 - Архитектура: убрать технический мусор из inventory reply presentation

This commit is contained in:
2026-04-17 18:42:57 +03:00
parent 7f42d8ab50
commit 29721d16cd
6 changed files with 241 additions and 141 deletions
@@ -64,8 +64,10 @@ describe("inventory aging follow-up", () => {
expect(reply.responseType).toBe("FACTUAL_SUMMARY");
expect(reply.text).toContain("К старым закупкам на 30.09.2021");
expect(reply.text).toContain("Блок 3. Позиции от самых старых закупок");
expect(reply.text).not.toContain("Блок 3. Опорные документы");
expect(reply.text).toContain("Позиции от самых старых закупок:");
expect(reply.text).toContain("Ограничения:");
expect(reply.text).not.toContain("Блок 1");
expect(reply.text).not.toContain("exact-контур");
expect(reply.text.indexOf("1. Четки Пост (84*117)")).toBeGreaterThan(-1);
expect(reply.text.indexOf("2. Зеркало для инвалидов поворотное травмобезопасное")).toBeGreaterThan(
reply.text.indexOf("1. Четки Пост (84*117)")
@@ -365,7 +365,7 @@ describe("address query shape classifier", () => {
useRubCurrency: true
}
);
expect(reply.text.split("\n")[0]).toContain("поставщиком");
expect(reply.text.split("\n")[0]).toContain("подтвержден поставщик");
expect(reply.text).toContain("Подтверждение");
expect(reply.text).not.toContain("Блок 1");
expect(reply.text).toContain("Гамма-мебель, ООО");
@@ -5149,14 +5149,46 @@ it("routes old purchase residue questions to aging-by-purchase-date", () => {
expect(reply.responseType).toBe("FACTUAL_LIST");
expect(reply.text.split("\n")[0]).toContain("На 31.03.2020 на складе подтверждено");
expect(reply.text).toContain("Контур: остатки по счету 41.01");
expect(reply.text).toContain("Сводка:");
expect(reply.text).not.toContain("Блок 1");
expect(reply.text).not.toContain("Контур:");
expect(reply.text).not.toContain("source refs");
expect(reply.text).toContain("Шкаф картотечный");
expect(reply.text).toContain("Основной склад");
expect(reply.semantics?.result_mode).toBe("confirmed_balance");
expect(reply.semantics?.balance_confirmed).toBe(true);
});
it("keeps supplier-overlap reply business-first without exact contour leakage", () => {
const reply = composeFactualReply(
"inventory_supplier_stock_overlap_as_of_date",
[
{
period: "2020-02-12T00:00:00Z",
registrator: "Поступление товаров и услуг 00000000003 от 12.02.2020 0:00:00",
account_dt: "41.01",
account_kt: "60.01",
amount: 3724.17,
analytics: ["Столешница 600*3050*26 дуб ниагара", "Основной склад", "Торговый дом \\Союз\\"],
item: "Столешница 600*3050*26 дуб ниагара",
warehouse: "Основной склад",
organization: 'ООО "Альтернатива Плюс"'
}
],
{
asOfDate: "2020-03-31",
useRubCurrency: true
}
);
expect(reply.responseType).toBe("FACTUAL_SUMMARY");
expect(reply.text).toContain("Что проверили:");
expect(reply.text).toContain("Опорные документы:");
expect(reply.text).not.toContain("exact-контур");
expect(reply.text).not.toContain("Блок 1");
expect(reply.text).not.toContain("Контур:");
});
it("routes inventory provenance questions to a dedicated intent", () => {
const result = resolveAddressIntent("От какого поставщика куплен товар Шкаф картоотечный?");
expect(result.intent).toBe("inventory_purchase_provenance_for_item");