test(extractEntityCityId): prioritize address over top-level city in entity extraction

This commit is contained in:
hamed
2026-07-19 08:54:00 +03:30
parent 21f5f07bc6
commit 88782e70c2
2 changed files with 22 additions and 1 deletions
+16
View File
@@ -54,6 +54,22 @@ describe("extractEntityCityId", () => {
expect(findDomainByCityId(extractEntityCityId(doctor))).toBe("yasuj-nobat.ir");
});
it("آدرس بر city سطح‌بالا مقدم است (اختلاف بین دو منبع)", () => {
// پاسخ واقعی جزئیات پزشک: city سطح‌بالا از رابطهٔ قدیمی، آدرس از مطب واقعی.
// فیلتر city_id و فیلد city در پاسخ لیست هر دو آدرس‌محورند، پس آدرس باید ببرد؛
// وگرنه canonical پزشک با sitemapی که او را در آن گذاشته‌ایم واگرا می‌شود.
const doctor = {
city: [{ id: "123" }],
address: [{ city: { id: "101" } }],
};
expect(extractEntityCityId(doctor)).toBe("101");
expect(findDomainByCityId(extractEntityCityId(doctor))).toBe("tabriz-nobat.ir");
});
it("کلینیک آدرس ندارد → همان city سطح‌بالا", () => {
expect(extractEntityCityId({ city: [{ id: "123" }] })).toBe("123");
});
it("بدون شهر → null", () => {
expect(extractEntityCityId({ city: [], address: [] })).toBeNull();
expect(extractEntityCityId(null)).toBeNull();