"""Fusion / Avada board-of-commissioners h3 + p roster extraction.""" from scrapers.discovery.contact_extract_from_html import ( extract_fusion_boc_heading_roster_contacts_from_html, extract_structured_contacts_from_html, ) _ATKINSON_HTML = """
Chairman of the Board
District 1 Commissioner
District 2 Commissioner
District 3 Commissioner
District 4 Commissioner
District 5 Commissioner
County Clerk
Finance Officer/HR
""" def test_fusion_boc_heading_roster_atkinson(): url = "https://atkinsoncounty.org/board-of-commissioners/" rows = extract_fusion_boc_heading_roster_contacts_from_html(_ATKINSON_HTML, url) assert len(rows) == 8 names = {r["person_name"] for r in rows} assert 'Benjamin "Parker" Liles' in names assert "Kayla Wise" in names assert all(r["extraction_method"] == "fusion_boc_heading_roster" for r in rows) chairman = next(r for r in rows if "Parker" in (r["person_name"] or "")) assert "Chairman" in (chairman["title_or_role"] or "") def test_structured_extract_includes_fusion_boc(): rows = extract_structured_contacts_from_html( _ATKINSON_HTML, "https://atkinsoncounty.org/board-of-commissioners/" ) assert len(rows) >= 8 assert any(r.get("extraction_method") == "fusion_boc_heading_roster" for r in rows)