NODEDC_1C/llm_normalizer/backend/tests/addressRouteExpectations.te...

38 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
evaluateAddressRouteExpectation,
loadAddressRouteExpectationsContract
} from "../src/services/addressRouteExpectations";
describe("address route expectations contract", () => {
it("loads expectations contract with entries", () => {
const contract = loadAddressRouteExpectationsContract();
expect(contract.schema_version).toBe("address_route_expectations_v1");
expect(Array.isArray(contract.entries)).toBe(true);
expect(contract.entries.length).toBeGreaterThan(0);
});
it("matches expected recipe and result mode for exact payables route", () => {
const audit = evaluateAddressRouteExpectation({
intent: "payables_confirmed_as_of_date",
selectedRecipe: "address_payables_confirmed_as_of_date_v1",
requestedResultMode: "confirmed_balance",
resultMode: "confirmed_balance"
});
expect(audit.status).toBe("matched");
expect(audit.reason).toBe("route_expectation_matched");
});
it("detects selected recipe mismatch", () => {
const audit = evaluateAddressRouteExpectation({
intent: "payables_confirmed_as_of_date",
selectedRecipe: "address_movements_payables_v1",
requestedResultMode: "confirmed_balance",
resultMode: "confirmed_balance"
});
expect(audit.status).toBe("mismatch");
expect(audit.reason).toBe("selected_recipe_mismatch");
expect(audit.expected_selected_recipes).toContain("address_payables_confirmed_as_of_date_v1");
});
});