import { describe, expect, it } from "vitest"; import { findGoldStandardTargets, loadAllGoldStandardTargets, scoreGoldTextMatch, } from "@/workers/rpa/gold-standard-targets"; describe("gold-standard-targets", () => { it("loadAllGoldStandardTargets 读取录证金样本", () => { const targets = loadAllGoldStandardTargets(); expect(targets.length).toBeGreaterThan(0); expect(targets[0]?.textPreview.length).toBeGreaterThan(12); }); it("scoreGoldTextMatch 对完全匹配给高分", () => { const text = "La Concha Key West, Autograph Collection, Duval Street, Key West, Florida, USA"; const score = scoreGoldTextMatch(text, { street: "Duval Street", city: "Key West", state: "FL", zip: "", }, text); expect(score).toBeGreaterThanOrEqual(85); }); it("scoreGoldTextMatch 拒绝仅城市相同的不同街道", () => { const score = scoreGoldTextMatch( "1234 Warehouse Street, Los Angeles, CA, USA", { street: "1234 Warehouse Street", city: "Los Angeles", state: "CA", zip: "", }, "Hollywood BoulevardLos Angeles, California, USA", ); expect(score).toBe(0); }); it("findGoldStandardTargets 按 description 匹配 Key West 金样本", () => { const matches = findGoldStandardTargets( "La Concha Key West, Autograph Collection, Duval Street, Key West, Florida, USA", { street: "Duval Street", city: "Key West", state: "FL", zip: "", }, "pickup", 40, ); expect(matches.length).toBeGreaterThan(0); expect(matches[0]?.textPreview).toMatch(/Key West|Duval/i); }); });