57 lines
1.7 KiB
TypeScript
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
|
|
});
|
|
});
|
|
});
|