АДРЕСНЫЙ РЕЖИМ -
This commit is contained in:
@@ -138,6 +138,11 @@ describe("address intent resolver expansion (M2.3a)", () => {
|
||||
expect(result.intent).toBe("open_items_by_counterparty_or_contract");
|
||||
});
|
||||
|
||||
it("resolves unclosed contracts list query without specific anchor", () => {
|
||||
const result = resolveAddressIntent("Покажи незакрытые договоры на 2020-12-31");
|
||||
expect(result.intent).toBe("list_open_contracts");
|
||||
});
|
||||
|
||||
it("resolves bank operations by contract for normalized phrase with linked contract wording", () => {
|
||||
const result = resolveAddressIntent(
|
||||
"Показать банковские операции (счета 51, 60, 62) связанные с договором 15/24."
|
||||
@@ -268,6 +273,18 @@ describe("address filter extraction for balance drilldown", () => {
|
||||
expect(result.warnings).toContain("period_derived_from_month_phrase");
|
||||
});
|
||||
|
||||
it("cuts period-end tail from counterparty anchor and keeps as_of for open-items query", () => {
|
||||
const result = extractAddressFilters(
|
||||
"Покажи хвосты по контрагенту СВК на конец периода 2020-12-31",
|
||||
"open_items_by_counterparty_or_contract"
|
||||
);
|
||||
expect(result.extracted_filters.counterparty).toBe("СВК");
|
||||
expect(result.extracted_filters.as_of_date).toBe("2020-12-31");
|
||||
expect(result.extracted_filters.period_from).toBeUndefined();
|
||||
expect(result.extracted_filters.period_to).toBeUndefined();
|
||||
expect(result.warnings).toContain("period_window_cleared_for_as_of_intent");
|
||||
});
|
||||
|
||||
it("derives month period for balance snapshot from 'на май 2020'", () => {
|
||||
const result = extractAddressFilters("Какой остаток по счету 60 на май 2020", "account_balance_snapshot");
|
||||
expect(result.extracted_filters.account).toBe("60");
|
||||
@@ -703,6 +720,34 @@ describe("address recipe catalog counterparty filtering", () => {
|
||||
expect(plan.limit).toBe(200);
|
||||
});
|
||||
|
||||
it("allows extended limit for open-items by contract intent", () => {
|
||||
const selected = selectAddressRecipe("open_items_by_counterparty_or_contract", {
|
||||
contract: "15/24",
|
||||
limit: 1000
|
||||
});
|
||||
expect(selected.selected_recipe).toBeTruthy();
|
||||
const plan = buildAddressRecipePlan(selected.selected_recipe!, {
|
||||
contract: "15/24",
|
||||
limit: 1000
|
||||
});
|
||||
|
||||
expect(plan.limit).toBe(1000);
|
||||
});
|
||||
|
||||
it("allows extended limit for open-contracts intent", () => {
|
||||
const selected = selectAddressRecipe("list_open_contracts", {
|
||||
as_of_date: "2020-12-31",
|
||||
limit: 1000
|
||||
});
|
||||
expect(selected.selected_recipe).toBeTruthy();
|
||||
const plan = buildAddressRecipePlan(selected.selected_recipe!, {
|
||||
as_of_date: "2020-12-31",
|
||||
limit: 1000
|
||||
});
|
||||
|
||||
expect(plan.limit).toBe(1000);
|
||||
});
|
||||
|
||||
it("injects account condition into movements query for account snapshot", () => {
|
||||
const filters = extractAddressFilters(
|
||||
"Какой остаток по счету 60 на дату 2020-07-31",
|
||||
|
||||
Reference in New Issue
Block a user