import test from "node:test"; import assert from "node:assert/strict"; import { resolvePublicRecords } from "../src/public-records.js"; const geocoderPayload = { result: { addressMatches: [ { matchedAddress: "4141 WHITELEY DR, CORPUS CHRISTI, TX, 78418", coordinates: { x: -97.30174, y: 27.613668 }, geographies: { States: [{ NAME: "Texas", STUSAB: "TX", STATE: "48" }], Counties: [{ NAME: "Nueces County", COUNTY: "355", GEOID: "48355" }], "2020 Census Blocks": [{ GEOID: "483550031013005" }] } } ] } }; const countyIndexHtml = ` `; const countyPageHtml = `

Appraisal District

Last Updated: 08/13/2025

Chief Appraiser: Debra Morin, Interim

Phone: 361-881-9978
Email: info@nuecescad.net
Website: www.ncadistrict.com

Mailing Address

201 N. Chaparral St.
Corpus Christi, TX 78401-2503

Tax Assessor/Collector

Last Updated: 02/18/2025

Tax Assessor-Collector: Kevin Kieschnick

Phone: 361-888-0307
Email: nueces.tax@nuecesco.com
Website: www.nuecesco.com

Street Address

901 Leopard St., Room 301
Corpus Christi, Texas 78401-3602

`; const fakeFetchText = async (url: string): Promise => { if (url.includes("geocoding.geo.census.gov")) { return JSON.stringify(geocoderPayload); } if (url.endsWith("/county-directory/")) { return countyIndexHtml; } if (url.endsWith("/county-directory/nueces.php")) { return countyPageHtml; } throw new Error(`Unexpected URL: ${url}`); }; test("resolvePublicRecords uses Census and Texas county directory", async () => { const payload = await resolvePublicRecords("4141 Whiteley Dr, Corpus Christi, TX 78418", { parcelId: "14069438", listingGeoId: "233290", listingSourceUrl: "https://www.zillow.com/homedetails/example", fetchText: fakeFetchText }); assert.equal(payload.county.name, "Nueces County"); assert.equal(payload.state.code, "TX"); assert.equal(payload.appraisalDistrict?.Website, "http://www.ncadistrict.com/"); assert.equal(payload.taxAssessorCollector?.Email, "nueces.tax@nuecesco.com"); assert.equal(payload.sourceIdentifierHints.parcelId, "14069438"); assert.match(payload.lookupRecommendations.join(" "), /listing geo IDs as regional hints only/i); }); test("resolvePublicRecords falls back to coordinate geocoding when Census address lookup misses", async () => { const coordinatePayload = { result: { geographies: { States: [{ NAME: "Texas", STUSAB: "TX", STATE: "48" }], Counties: [{ NAME: "Nueces County", COUNTY: "355", GEOID: "48355" }], "2020 Census Blocks": [{ GEOID: "483550031013005" }] } } }; const fallbackFetchText = async (url: string): Promise => { if (url.includes("geocoding.geo.census.gov") && url.includes("onelineaddress")) { return JSON.stringify({ result: { addressMatches: [] } }); } if (url.includes("nominatim.openstreetmap.org/search")) { return JSON.stringify([ { lat: "27.708000", lon: "-97.360000", display_name: "1011 Ennis Joslin Rd Apt 235, Corpus Christi, TX 78412" } ]); } if (url.includes("geocoding.geo.census.gov") && url.includes("geographies/coordinates")) { return JSON.stringify(coordinatePayload); } if (url.endsWith("/county-directory/")) { return countyIndexHtml; } if (url.endsWith("/county-directory/nueces.php")) { return countyPageHtml; } throw new Error(`Unexpected URL: ${url}`); }; const payload = await resolvePublicRecords( "1011 Ennis Joslin Rd APT 235, Corpus Christi, TX 78412", { fetchText: fallbackFetchText } ); assert.equal( payload.matchedAddress, "1011 Ennis Joslin Rd Apt 235, Corpus Christi, TX 78412" ); assert.equal(payload.county.name, "Nueces County"); assert.equal(payload.state.code, "TX"); assert.equal(payload.latitude, 27.708); assert.equal(payload.longitude, -97.36); assert.match( payload.lookupRecommendations.join(" "), /fallback geocoder/i ); }); test("resolvePublicRecords retries fallback geocoding without the unit suffix", async () => { const seenFallbackQueries: string[] = []; const coordinatePayload = { result: { geographies: { States: [{ NAME: "Texas", STUSAB: "TX", STATE: "48" }], Counties: [{ NAME: "Nueces County", COUNTY: "355", GEOID: "48355" }], "2020 Census Blocks": [{ GEOID: "483550031013005" }] } } }; const retryingFetchText = async (url: string): Promise => { if (url.includes("geocoding.geo.census.gov") && url.includes("onelineaddress")) { return JSON.stringify({ result: { addressMatches: [] } }); } if (url.includes("nominatim.openstreetmap.org/search")) { const query = new URL(url).searchParams.get("q") || ""; seenFallbackQueries.push(query); if (query.includes("APT 235")) { return "[]"; } if (query === "1011 Ennis Joslin Rd, Corpus Christi, TX 78412") { return JSON.stringify([ { lat: "27.6999080", lon: "-97.3338107", display_name: "Ennis Joslin Road, Corpus Christi, Nueces County, Texas, 78412, United States" } ]); } } if (url.includes("geocoding.geo.census.gov") && url.includes("geographies/coordinates")) { return JSON.stringify(coordinatePayload); } if (url.endsWith("/county-directory/")) { return countyIndexHtml; } if (url.endsWith("/county-directory/nueces.php")) { return countyPageHtml; } throw new Error(`Unexpected URL: ${url}`); }; const payload = await resolvePublicRecords( "1011 Ennis Joslin Rd APT 235, Corpus Christi, TX 78412", { fetchText: retryingFetchText } ); assert.deepEqual(seenFallbackQueries, [ "1011 Ennis Joslin Rd APT 235, Corpus Christi, TX 78412", "1011 Ennis Joslin Rd, Corpus Christi, TX 78412" ]); assert.equal(payload.county.name, "Nueces County"); assert.equal(payload.state.code, "TX"); }); test("resolvePublicRecords enriches official CAD property facts when a supported CAD detail source is available", async () => { const fetchedUrls: string[] = []; const enrichedFetchText = async (url: string): Promise => { fetchedUrls.push(url); if (url.includes("geocoding.geo.census.gov")) { return JSON.stringify(geocoderPayload); } if (url.endsWith("/county-directory/")) { return countyIndexHtml; } if (url.endsWith("/county-directory/nueces.php")) { return countyPageHtml.replace( "http://www.ncadistrict.com/", "https://nuecescad.net/" ); } if (url === "https://nuecescad.net/") { return ` Property Search `; } if (url === "https://esearch.nuecescad.net/") { return ` Property Search `; } if (url.includes("/search/SearchResults?")) { return JSON.stringify({ success: true, resultsList: [ { propertyId: "14069438", ownerName: "Fiorini Family Trust", ownerId: "998877", address: "4141 Whiteley Dr, Corpus Christi, TX 78418", legalDescription: "LOT 4 BLOCK 3 EXAMPLE SUBDIVISION", appraisedValueDisplay: "$141,000", detailUrl: "/property/view/14069438?year=2026" } ] }); } if (url === "https://esearch.nuecescad.net/property/view/14069438?year=2026") { return `
Owner Name
Fiorini Family Trust
Account Number
14069438
Situs Address
4141 Whiteley Dr, Corpus Christi, TX 78418
Legal Description
LOT 4 BLOCK 3 EXAMPLE SUBDIVISION
Land Value
$42,000
Improvement Value
$99,000
Market Value
$141,000
Assessed Value
$141,000
Exemptions
Homestead
`; } throw new Error(`Unexpected URL: ${url}`); }; const payload = await resolvePublicRecords("4141 Whiteley Dr, Corpus Christi, TX 78418", { fetchText: enrichedFetchText }); assert.equal(payload.propertyDetails?.propertyId, "14069438"); assert.equal(payload.propertyDetails?.ownerName, "Fiorini Family Trust"); assert.equal(payload.propertyDetails?.landValue, 42000); assert.equal(payload.propertyDetails?.improvementValue, 99000); assert.equal(payload.propertyDetails?.assessedTotalValue, 141000); assert.deepEqual(payload.propertyDetails?.exemptions, ["Homestead"]); assert.match( payload.lookupRecommendations.join(" "), /official cad property detail/i ); assert.ok( fetchedUrls.some((url) => url.includes("esearch.nuecescad.net/property/view/14069438")) ); }); test("resolvePublicRecords uses formatted Nueces Geographic ID search when a parcel ID is available", async () => { const fetchedUrls: string[] = []; const enrichedFetchText = async (url: string): Promise => { fetchedUrls.push(url); if (url.includes("geocoding.geo.census.gov")) { return JSON.stringify(geocoderPayload); } if (url.endsWith("/county-directory/")) { return countyIndexHtml; } if (url.endsWith("/county-directory/nueces.php")) { return countyPageHtml.replace( "http://www.ncadistrict.com/", "https://nuecescad.net/" ); } if (url === "https://nuecescad.net/") { return ` Property Search `; } if (url === "https://esearch.nuecescad.net/") { return ` Property Search `; } if (url.includes("/search/SearchResults?")) { assert.match(url, /keywords=1234-5678-9012/); return JSON.stringify({ success: true, resultsList: [ { propertyId: "200016970", ownerName: "NGUYEN TRANG THUY", ownerId: "677681", address: "6702 Everhart Rd Apt T106, Corpus Christi, TX 78413", legalDescription: "UNIT T106 EXAMPLE CONDO", appraisedValueDisplay: "$128,876", detailUrl: "/property/view/200016970?year=2026" } ] }); } if (url === "https://esearch.nuecescad.net/property/view/200016970?year=2026") { return `
Owner Name
NGUYEN TRANG THUY
Account Number
200016970
Situs Address
6702 Everhart Rd Apt T106, Corpus Christi, TX 78413
Legal Description
UNIT T106 EXAMPLE CONDO
Land Value
$20,000
Improvement Value
$108,876
Market Value
$128,876
Assessed Value
$128,876
`; } throw new Error(`Unexpected URL: ${url}`); }; const payload = await resolvePublicRecords("6702 Everhart Rd APT T106, Corpus Christi, TX 78413", { parcelId: "123456789012", fetchText: enrichedFetchText }); assert.equal(payload.propertyDetails?.propertyId, "200016970"); assert.ok( fetchedUrls.some((url) => url.includes("keywords=1234-5678-9012")) ); });