NODEDC_1C/llm_normalizer/backend/tests/assistantAddressLaneAttempt...

57 lines
1.7 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
buildAssistantAddressLaneAttemptQueryOptions,
resolveAssistantAddressLaneAttemptFollowupContext
} from "../src/services/assistantAddressLaneAttemptQueryOptionsBuilder";
describe("assistant address lane attempt query options builder", () => {
it("extracts followup context object from carry meta", () => {
const followupContext = resolveAssistantAddressLaneAttemptFollowupContext({
followupContext: {
previous_intent: "docs_by_counterparty"
}
} as any);
expect(followupContext).toEqual({
previous_intent: "docs_by_counterparty"
});
});
it("builds query options with scoped followup context when present", () => {
const options = buildAssistantAddressLaneAttemptQueryOptions({
analysisDateHint: "2020-07-31",
scopedFollowupContext: {
previous_intent: "docs_by_counterparty",
active_organization: "Org A"
},
activeOrganization: "Org A",
knownOrganizations: ["Org A", "Org B"],
llmSemanticHints: null
});
expect(options).toEqual({
followupContext: {
previous_intent: "docs_by_counterparty",
active_organization: "Org A"
},
analysisDateHint: "2020-07-31",
activeOrganization: "Org A",
knownOrganizations: ["Org A", "Org B"]
});
});
it("builds query options with only analysis date when scoped context is missing", () => {
const options = buildAssistantAddressLaneAttemptQueryOptions({
analysisDateHint: null,
scopedFollowupContext: null,
activeOrganization: null,
knownOrganizations: [],
llmSemanticHints: null
});
expect(options).toEqual({
analysisDateHint: null
});
});
});