# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: tests/ui/geo-map.spec.ts >> /districts/ak-00/: boundary map, no missing scripts or shapes
- Location: tests/ui/geo-map.spec.ts:18:7

# Error details

```
Error: expect(locator).toHaveCount(expected) failed

Locator:  locator('script[src="/js/geo-map.js"][data-geo-shape]')
Expected: 1
Received: 0
Timeout:  5000ms

Call log:
  - Expect "toHaveCount" locator('script[src="/js/geo-map.js"][data-geo-shape]') with timeout 5000ms
  - waiting for locator('script[src="/js/geo-map.js"][data-geo-shape]')
    14 × locator resolved to 0 elements
       - unexpected value "0"

```

# Page snapshot

```yaml
- generic [active] [ref=e1]:
  - banner [ref=e2]:
    - heading "Alaska At-Large Congressional District" [level=1] [ref=e3]
    - paragraph [ref=e4]: Congressional District Profile
  - generic [ref=e5]:
    - generic [ref=e6]:
      - generic [ref=e7]: Not signed in
      - generic [ref=e9]:
        - link "Log in" [ref=e10] [cursor=pointer]:
          - /url: /outpost.goauthentik.io/start?rd=https%3A%2F%2Fus.elect.info%2Fdistricts%2Fak-00%2F
        - link "Create an account" [ref=e11] [cursor=pointer]:
          - /url: /signin/register?rd=https%3A%2F%2Fus.elect.info%2Fdistricts%2Fak-00%2F
    - toolbar "Member tools" [ref=e12]:
      - button "All cycles (Sign in to use the cycle facet)" [disabled] [ref=e13] [cursor=pointer]:
        - generic [ref=e17]: All cycles
      - button "Graph (Sign in to use Graph)" [disabled] [ref=e20] [cursor=pointer]:
        - generic [ref=e29]: Graph
  - generic [ref=e32]:
    - heading "Overview" [level=2] [ref=e33]
    - generic [ref=e34]:
      - term [ref=e35]: District ID
      - definition [ref=e36]: AK-00
      - term [ref=e37]: State
      - definition [ref=e38]:
        - link "Alaska" [ref=e39] [cursor=pointer]:
          - /url: https://us.elect.info/states/alaska/
      - term [ref=e40]: District Number
      - definition [ref=e41]: "00"
      - term [ref=e42]: Total Candidates
      - definition [ref=e43]: "176"
      - term [ref=e44]: Election Cycles
      - definition [ref=e45]:
        - generic [ref=e46]:
          - link "2026" [ref=e47] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2026/
          - text: ","
          - link "2024" [ref=e48] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2024/
          - text: ","
          - link "2022" [ref=e49] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2022/
          - text: ","
          - link "2020" [ref=e50] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2020/
          - text: ","
          - link "2018" [ref=e51] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2018/
          - text: ","
          - link "2016" [ref=e52] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2016/
          - text: ","
          - link "2014" [ref=e53] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2014/
          - text: ","
          - link "2012" [ref=e54] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2012/
          - text: ","
          - link "2010" [ref=e55] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2010/
          - text: ","
          - link "2008" [ref=e56] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2008/
          - text: ","
          - link "2006" [ref=e57] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2006/
          - text: ","
          - link "2004" [ref=e58] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2004/
          - text: ","
          - link "2002" [ref=e59] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2002/
          - text: ","
          - link "2000" [ref=e60] [cursor=pointer]:
            - /url: https://us.elect.info/elections/2000/
          - text: ","
          - link "1998" [ref=e61] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1998/
          - text: ","
          - link "1996" [ref=e62] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1996/
          - text: ","
          - link "1994" [ref=e63] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1994/
          - text: ","
          - link "1992" [ref=e64] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1992/
          - text: ","
          - link "1990" [ref=e65] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1990/
          - text: ","
          - link "1988" [ref=e66] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1988/
          - text: ","
          - link "1986" [ref=e67] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1986/
          - text: ","
          - link "1984" [ref=e68] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1984/
          - text: ","
          - link "1982" [ref=e69] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1982/
          - text: ","
          - link "1980" [ref=e70] [cursor=pointer]:
            - /url: https://us.elect.info/elections/1980/
    - paragraph [ref=e71]:
      - link "View office details for U.S. Representative - Alaska District 00" [ref=e72] [cursor=pointer]:
        - /url: https://us.elect.info/offices/house/ak-00/
  - generic [ref=e73]:
    - heading "Demographics" [level=2] [ref=e74]
    - generic [ref=e75]:
      - term [ref=e76]: Total Citizen Population
      - definition [ref=e77]: 714,055
      - term [ref=e78]: Citizen Voting Age Population (CVAP)
      - definition [ref=e79]: 538,819
    - heading "Citizen Population by Race/Ethnicity" [level=3] [ref=e80]
    - table [ref=e81]:
      - rowgroup [ref=e82]:
        - row [ref=e83]:
          - columnheader "Group" [ref=e84]
          - columnheader "Citizens" [ref=e85]
          - columnheader "Share" [ref=e86]
      - rowgroup [ref=e87]:
        - row [ref=e88]:
          - cell "Non-Hispanic" [ref=e89]
          - cell "664,182" [ref=e90]
          - cell "93.0%" [ref=e91]
        - row [ref=e92]:
          - cell "Hispanic" [ref=e93]
          - cell "49,871" [ref=e94]
          - cell "7.0%" [ref=e95]
        - row [ref=e96]:
          - cell "White" [ref=e97]
          - cell "429,980" [ref=e98]
          - cell "60.2%" [ref=e99]
        - row [ref=e100]:
          - cell "Black" [ref=e101]
          - cell "21,006" [ref=e102]
          - cell "2.9%" [ref=e103]
        - row [ref=e104]:
          - cell "Asian" [ref=e105]
          - cell "37,245" [ref=e106]
          - cell "5.2%" [ref=e107]
        - row [ref=e108]:
          - cell "American Indian / Alaska Native" [ref=e109]
          - cell "98,152" [ref=e110]
          - cell "13.7%" [ref=e111]
        - row [ref=e112]:
          - cell "Native Hawaiian / Pacific Islander" [ref=e113]
          - cell "10,249" [ref=e114]
          - cell "1.4%" [ref=e115]
        - row [ref=e116]:
          - cell "Two or More Races" [ref=e117]
          - cell "12,221" [ref=e118]
          - cell "1.7%" [ref=e119]
    - heading "Citizen Voting Age Population by Race/Ethnicity" [level=3] [ref=e120]
    - table [ref=e121]:
      - rowgroup [ref=e122]:
        - row [ref=e123]:
          - columnheader "Group" [ref=e124]
          - columnheader "CVAP" [ref=e125]
          - columnheader "Share" [ref=e126]
      - rowgroup [ref=e127]:
        - row [ref=e128]:
          - cell "Non-Hispanic" [ref=e129]
          - cell "506,209" [ref=e130]
          - cell "93.9%" [ref=e131]
        - row [ref=e132]:
          - cell "Hispanic" [ref=e133]
          - cell "32,606" [ref=e134]
          - cell "6.1%" [ref=e135]
        - row [ref=e136]:
          - cell "White" [ref=e137]
          - cell "347,344" [ref=e138]
          - cell "64.5%" [ref=e139]
        - row [ref=e140]:
          - cell "Black" [ref=e141]
          - cell "21,242" [ref=e142]
          - cell "3.9%" [ref=e143]
        - row [ref=e144]:
          - cell "Asian" [ref=e145]
          - cell "33,819" [ref=e146]
          - cell "6.3%" [ref=e147]
        - row [ref=e148]:
          - cell "American Indian / Alaska Native" [ref=e149]
          - cell "92,337" [ref=e150]
          - cell "17.1%" [ref=e151]
        - row [ref=e152]:
          - cell "Native Hawaiian / Pacific Islander" [ref=e153]
          - cell "6,266" [ref=e154]
          - cell "1.2%" [ref=e155]
        - row [ref=e156]:
          - cell "Two or More Races" [ref=e157]
          - cell "5,913" [ref=e158]
          - cell "1.1%" [ref=e159]
    - paragraph [ref=e160]: "Source: Redistricting Data Hub / U.S. Census Bureau CVAP Special Tabulation."
  - generic [ref=e161]:
    - heading "Candidates" [level=2] [ref=e162]
    - generic [ref=e164]:
      - generic [ref=e165]:
        - generic [ref=e166]:
          - combobox "Search entities" [ref=e167]
          - status [ref=e168]
        - button "Search" [ref=e169] [cursor=pointer]
      - generic [ref=e170]:
        - heading "Candidates" [level=3] [ref=e172]
        - generic [ref=e173]:
          - link "YOUNG, DONALD E REP | $10,311,825" [ref=e174] [cursor=pointer]:
            - /url: /politicians/b9f432ca-0fa9-0fec-a6a9-173af899b483/
            - generic [ref=e175]: YOUNG, DONALD E
            - generic [ref=e176]: REP | $10,311,825
          - link "PELTOLA, MARY DEM | $2,370,168" [ref=e177] [cursor=pointer]:
            - /url: /politicians/5220d211-639a-d377-f85d-7e183958410a/
            - generic [ref=e178]: PELTOLA, MARY
            - generic [ref=e179]: DEM | $2,370,168
          - link "BEGICH, NICHOLAS III REP | $1,748,931" [ref=e180] [cursor=pointer]:
            - /url: /politicians/6a7b5260-db82-c6d7-4d0a-34a71c9a7f40/
            - generic [ref=e181]: BEGICH, NICHOLAS III
            - generic [ref=e182]: REP | $1,748,931
          - link "GALVIN, ALYSE IND | $744,322" [ref=e183] [cursor=pointer]:
            - /url: /politicians/ee898688-6b91-a98c-ff58-b85aa4a67bf4/
            - generic [ref=e184]: GALVIN, ALYSE
            - generic [ref=e185]: IND | $744,322
          - link "BERKOWITZ, ETHAN A DEM | $297,289" [ref=e186] [cursor=pointer]:
            - /url: /politicians/65531d38-e751-6884-e55c-aed3dd0af943/
            - generic [ref=e187]: BERKOWITZ, ETHAN A
            - generic [ref=e188]: DEM | $297,289
          - link "DAHLSTROM, NANCY REP | $247,848" [ref=e189] [cursor=pointer]:
            - /url: /politicians/2868969a-8188-3e71-c441-d453943fff44/
            - generic [ref=e190]: DAHLSTROM, NANCY
            - generic [ref=e191]: REP | $247,848
          - link "DEVENS, JOHN S DEM | $173,151" [ref=e192] [cursor=pointer]:
            - /url: /politicians/2975649a-bf04-9cc3-0457-bd81501cab1a/
            - generic [ref=e193]: DEVENS, JOHN S
            - generic [ref=e194]: DEM | $173,151
          - link "DUNCAN, JIM (JAMES W DUNCAN) DEM | $141,597" [ref=e195] [cursor=pointer]:
            - /url: /politicians/4bbc0f9e-e9c3-54f3-550a-e2e7e0c7e6f6/
            - generic [ref=e196]: DUNCAN, JIM (JAMES W DUNCAN)
            - generic [ref=e197]: DEM | $141,597
          - link "GRUENSTEIN, PETER DEM | $127,081" [ref=e198] [cursor=pointer]:
            - /url: /politicians/5c5820cd-a0cd-7689-3d63-8bfe4ef58740/
            - generic [ref=e199]: GRUENSTEIN, PETER
            - generic [ref=e200]: DEM | $127,081
          - link "BEGICH, MARGARET (PEGGE) DEM | $122,569" [ref=e201] [cursor=pointer]:
            - /url: /politicians/96c6d941-1f42-8da7-288c-957a8eb3dafb/
            - generic [ref=e202]: BEGICH, MARGARET (PEGGE)
            - generic [ref=e203]: DEM | $122,569
          - link "SMITH, TONY DEM | $98,124" [ref=e204] [cursor=pointer]:
            - /url: /politicians/f3fe9b93-2f0f-e04e-39b2-52e8f9ee5a0e/
            - generic [ref=e205]: SMITH, TONY
            - generic [ref=e206]: DEM | $98,124
          - link "HILL, BILL IND | $90,460" [ref=e207] [cursor=pointer]:
            - /url: /politicians/653a2d2f-2d7c-aa0b-5a4e-9a8ef5a43de5/
            - generic [ref=e208]: HILL, BILL
            - generic [ref=e209]: IND | $90,460
          - link "PALIN, SARAH REP | $56,763" [ref=e210] [cursor=pointer]:
            - /url: /politicians/c430763c-a6c4-f585-2d8b-3162e8992a6a/
            - generic [ref=e211]: PALIN, SARAH
            - generic [ref=e212]: REP | $56,763
          - link "DUNBAR, FORREST DEM | $34,217" [ref=e213] [cursor=pointer]:
            - /url: /politicians/56b37e1f-3a1b-60c9-5e04-24b40d54cb48/
            - generic [ref=e214]: DUNBAR, FORREST
            - generic [ref=e215]: DEM | $34,217
          - link "LINCOLN, GEORGIANNA DEM | $33,586" [ref=e216] [cursor=pointer]:
            - /url: /politicians/d4352f6a-b836-9af7-5853-0b4d0f8f96c7/
            - generic [ref=e217]: LINCOLN, GEORGIANNA
            - generic [ref=e218]: DEM | $33,586
          - link "SWEENEY, TARA M REP | $31,300" [ref=e219] [cursor=pointer]:
            - /url: /politicians/8b519f8c-c53c-399b-1b4d-cc3b3f038120/
            - generic [ref=e220]: SWEENEY, TARA M
            - generic [ref=e221]: REP | $31,300
          - link "GROSS, ALAN IND | $16,000" [ref=e222] [cursor=pointer]:
            - /url: /politicians/ef74021b-b108-2009-f431-fc373d24ac94/
            - generic [ref=e223]: GROSS, ALAN
            - generic [ref=e224]: IND | $16,000
          - link "BENSON, DIANE E MS DEM | $15,500" [ref=e225] [cursor=pointer]:
            - /url: /politicians/e6121050-d9ea-4858-a89f-27cf7d61b286/
            - generic [ref=e226]: BENSON, DIANE E MS
            - generic [ref=e227]: DEM | $15,500
          - link "CRAWFORD, HARRY T JR DEM | $13,560" [ref=e228] [cursor=pointer]:
            - /url: /politicians/2181e589-878b-10a1-9bc5-b017cc4fe980/
            - generic [ref=e229]: CRAWFORD, HARRY T JR
            - generic [ref=e230]: DEM | $13,560
          - link "COLLINS, VIRGINIA MARIE REP | $8,500" [ref=e231] [cursor=pointer]:
            - /url: /politicians/56caba81-a01a-37ca-6b66-053b49b9aff5/
            - generic [ref=e232]: COLLINS, VIRGINIA MARIE
            - generic [ref=e233]: REP | $8,500
          - link "METCALFE, JAMES K JAKE DEM | $5,000" [ref=e234] [cursor=pointer]:
            - /url: /politicians/f85a4e73-a64b-1213-5cc1-4122cb1adf44/
            - generic [ref=e235]: METCALFE, JAMES K JAKE
            - generic [ref=e236]: DEM | $5,000
          - link "DAHL, THOMAS H DEM | $3,700" [ref=e237] [cursor=pointer]:
            - /url: /politicians/2f00615e-e47d-32e0-9e7e-b42308d1e2bf/
            - generic [ref=e238]: DAHL, THOMAS H
            - generic [ref=e239]: DEM | $3,700
          - link "RODEY, PATRICK M DEM | $3,450" [ref=e240] [cursor=pointer]:
            - /url: /politicians/1e81a818-7585-e4aa-0055-7642a55bbb21/
            - generic [ref=e241]: RODEY, PATRICK M
            - generic [ref=e242]: DEM | $3,450
          - link "LEDOUX, GABRIELLE R REP | $3,427" [ref=e243] [cursor=pointer]:
            - /url: /politicians/f1e81780-a12d-2141-3b25-c8f6e07cd2b4/
            - generic [ref=e244]: LEDOUX, GABRIELLE R
            - generic [ref=e245]: REP | $3,427
          - link "PARNELL, SEAN REP | $1,600" [ref=e246] [cursor=pointer]:
            - /url: /politicians/fb4dfdac-c348-7658-48cc-6fe3b2489fc3/
            - generic [ref=e247]: PARNELL, SEAN
            - generic [ref=e248]: REP | $1,600
          - link "WHITTAKER, RICHARD DEM | $1,575" [ref=e249] [cursor=pointer]:
            - /url: /politicians/07344618-6832-274c-9eb8-e47db2fb193f/
            - generic [ref=e250]: WHITTAKER, RICHARD
            - generic [ref=e251]: DEM | $1,575
          - link "CONSTANT, CHRISTOPHER DEM | $1,000" [ref=e252] [cursor=pointer]:
            - /url: /politicians/34643564-dabc-fb55-ec2e-3af1ffb2b5cb/
            - generic [ref=e253]: CONSTANT, CHRISTOPHER
            - generic [ref=e254]: DEM | $1,000
          - link "REVAK, JOSHUA CARL REP | $564" [ref=e255] [cursor=pointer]:
            - /url: /politicians/9b447f76-ee66-3366-82d3-15f729c6a2c8/
            - generic [ref=e256]: REVAK, JOSHUA CARL
            - generic [ref=e257]: REP | $564
          - link "JOHNSTON, GEORGE WARREN REP | $500" [ref=e258] [cursor=pointer]:
            - /url: /politicians/7adc59fe-2a39-4e9b-b8b1-21e053b5e8b7/
            - generic [ref=e259]: JOHNSTON, GEORGE WARREN
            - generic [ref=e260]: REP | $500
          - link "GREENE, CLIFFORD MARK DEM | $500" [ref=e261] [cursor=pointer]:
            - /url: /politicians/0dbf7810-a938-ccc2-839f-59f2816bd17c/
            - generic [ref=e262]: GREENE, CLIFFORD MARK
            - generic [ref=e263]: DEM | $500
          - link "CARLSON, DAVE DEM | $370" [ref=e264] [cursor=pointer]:
            - /url: /politicians/bcae2317-ca77-8741-14e7-1a38dc574baa/
            - generic [ref=e265]: CARLSON, DAVE
            - generic [ref=e266]: DEM | $370
          - link "SHEIN, DIMITRI DEM | $316" [ref=e267] [cursor=pointer]:
            - /url: /politicians/8cf59c75-9cd5-f522-e93e-b5744db2ed4e/
            - generic [ref=e268]: SHEIN, DIMITRI
            - generic [ref=e269]: DEM | $316
          - link "BRECK, BETTY LIB | $300" [ref=e270] [cursor=pointer]:
            - /url: /politicians/0a95b169-bb0c-e89a-b596-af688c71167f/
            - generic [ref=e271]: BRECK, BETTY
            - generic [ref=e272]: LIB | $300
          - link "WHITMORE, JONI LEE DEM | $150" [ref=e273] [cursor=pointer]:
            - /url: /politicians/3cea9a9b-dfcc-ca69-5279-397e3c4dee1b/
            - generic [ref=e274]: WHITMORE, JONI LEE
            - generic [ref=e275]: DEM | $150
          - link "HOWE, JOHN WAYNE OTH" [ref=e276] [cursor=pointer]:
            - /url: /politicians/56f6f376-b91e-7305-65f2-9b9b5496ace7/
            - generic [ref=e277]: HOWE, JOHN WAYNE
            - generic [ref=e278]: OTH
          - link "DUNHAM, MICHAEL S REP" [ref=e279] [cursor=pointer]:
            - /url: /politicians/0666923c-a610-63da-bb92-5354f9aa474b/
            - generic [ref=e280]: DUNHAM, MICHAEL S
            - generic [ref=e281]: REP
          - link "HEINTZ, TED S. N" [ref=e282] [cursor=pointer]:
            - /url: /politicians/30282f73-fe6b-3f20-61de-864c3acbd4bb/
            - generic [ref=e283]: HEINTZ, TED S.
            - generic [ref=e284]: "N"
          - link "FREIBERGER, LAWRENCE JOSEPH DEM" [ref=e285] [cursor=pointer]:
            - /url: /politicians/12acb1b6-b748-feb5-cefc-eb4c4977e41d/
            - generic [ref=e286]: FREIBERGER, LAWRENCE JOSEPH
            - generic [ref=e287]: DEM
          - link "COGHILL, JOHN B JR. REP" [ref=e288] [cursor=pointer]:
            - /url: /politicians/52b24a43-1568-9d3c-eeb6-ca248e627c76/
            - generic [ref=e289]: COGHILL, JOHN B JR.
            - generic [ref=e290]: REP
          - link "DESJARLAIS, CLINTON IND" [ref=e291] [cursor=pointer]:
            - /url: /politicians/2693985b-50a6-b3ce-4a51-9abe36766b5d/
            - generic [ref=e292]: DESJARLAIS, CLINTON
            - generic [ref=e293]: IND
          - link "INCE, EVA L. GRE" [ref=e294] [cursor=pointer]:
            - /url: /politicians/2d8173c4-6489-be46-fbe8-515b52d3ad1d/
            - generic [ref=e295]: INCE, EVA L.
            - generic [ref=e296]: GRE
          - link "THISTLE, DAVID UND" [ref=e297] [cursor=pointer]:
            - /url: /politicians/4f356aa2-e530-9b5c-2923-51d71e6b1fd0/
            - generic [ref=e298]: THISTLE, DAVID
            - generic [ref=e299]: UND
          - link "MCCABE, ANNE M N" [ref=e300] [cursor=pointer]:
            - /url: /politicians/9689ce03-4d04-8ea4-1f2e-6689625c3b5f/
            - generic [ref=e301]: MCCABE, ANNE M
            - generic [ref=e302]: "N"
          - link "CUMINGS, CHRISTOPHER CHARLES NPA" [ref=e303] [cursor=pointer]:
            - /url: /politicians/44fcb3e0-95a6-cb06-51a2-9d46e751d65e/
            - generic [ref=e304]: CUMINGS, CHRISTOPHER CHARLES
            - generic [ref=e305]: NPA
          - link "LEBLANC, DAVIS LEE MR. JR REP" [ref=e306] [cursor=pointer]:
            - /url: /politicians/0d97a37d-2993-c4da-e55a-b986802ea9af/
            - generic [ref=e307]: LEBLANC, DAVIS LEE MR. JR
            - generic [ref=e308]: REP
          - link "MILES, DAE DEM" [ref=e309] [cursor=pointer]:
            - /url: /politicians/0a7cf0e8-db80-4f8e-3c3a-d96478e2fcf2/
            - generic [ref=e310]: MILES, DAE
            - generic [ref=e311]: DEM
          - link "NEMEC, WILLIAM JAMES II OTH" [ref=e312] [cursor=pointer]:
            - /url: /politicians/9060c681-bc60-bee7-037d-49b4b1ecec3c/
            - generic [ref=e313]: NEMEC, WILLIAM JAMES II
            - generic [ref=e314]: OTH
          - link "ORNELAS, ROBERT OTH" [ref=e315] [cursor=pointer]:
            - /url: /politicians/62a4efa1-98d2-308b-732f-38cc05ce238b/
            - generic [ref=e316]: ORNELAS, ROBERT
            - generic [ref=e317]: OTH
          - link "GRAMES, JOHN J.G. \"JOHNNY\" GRE" [ref=e318] [cursor=pointer]:
            - /url: /politicians/9cb98d14-d45a-1d1e-f78e-010c3d602351/
            - generic [ref=e319]: GRAMES, JOHN J.G. "JOHNNY"
            - generic [ref=e320]: GRE
          - link "WRIGHT, MR. DONALD OTH" [ref=e321] [cursor=pointer]:
            - /url: /politicians/6e9a075f-1a26-1bb6-267a-68f9764238e0/
            - generic [ref=e322]: WRIGHT, MR. DONALD
            - generic [ref=e323]: OTH
        - generic [ref=e324]:
          - generic [ref=e325]: Showing 1-50
          - generic [ref=e326]:
            - button "First" [disabled] [ref=e327]
            - button "Prev" [disabled] [ref=e328]
            - button "1" [ref=e329] [cursor=pointer]
            - button "Next" [ref=e330] [cursor=pointer]
  - contentinfo [ref=e331]:
    - paragraph [ref=e332]:
      - link "elect.info" [ref=e333] [cursor=pointer]:
        - /url: https://us.elect.info/
      - text: "| Data from"
      - link "Federal Election Commission" [ref=e334] [cursor=pointer]:
        - /url: https://us.elect.info/datasources/fec.gov/
      - text: "| Generated 2026-10-23"
```

# Test source

```ts
  1  | import { test, expect } from '@playwright/test';
  2  | 
  3  | /*
  4  |  * /js/geo-map.js boundary maps (sites#470). Congressional District, County, Place and ZIP Code pages loaded a script
  5  |  * that never existed (a console 404 on every page). The renderer's tag now names the entity's GeoJSON; the script
  6  |  * adds a Boundary section with a Leaflet map. Missing shapes (territory delegate districts) add nothing.
  7  |  */
  8  | 
  9  | const PAGES: Array<[string, string]> = [
  10 |   ['/districts/ny-16/', 'overview'],
  11 |   ['/districts/ak-00/', 'overview'],
  12 |   ['/counties/kerr-county-tx/', 'geography'],
  13 |   ['/places/megargel-cdp-al/', 'geography'],
  14 |   ['/postalcodes/73762/', 'overview'],
  15 | ];
  16 | 
  17 | for (const [path, after] of PAGES) {
  18 |   test(`${path}: boundary map, no missing scripts or shapes`, async ({ page }) => {
  19 |     test.setTimeout(60000);
  20 |     const failures: string[] = [];
  21 |     page.on('response', r => {
  22 |       const url = r.url();
  23 |       if (r.status() >= 400 && /\/(js|geo)\//.test(url)) failures.push(`${r.status()} ${url}`);
  24 |     });
  25 |     page.on('pageerror', e => failures.push(e.message));
  26 |     const res = await page.goto(path);
  27 |     expect(res?.status(), `${path} should answer 200`).toBe(200);
  28 |     const tag = page.locator('script[src="/js/geo-map.js"][data-geo-shape]');
> 29 |     await expect(tag).toHaveCount(1);
     |                       ^ Error: expect(locator).toHaveCount(expected) failed
  30 |     expect(await tag.getAttribute('data-geo-shape')).toMatch(/^\/geo\/(districts|counties|places|zcta)\/.+\.geojson$/);
  31 |     await expect(page.locator('section#boundary[data-loaded="true"] .leaflet-container')).toBeVisible({ timeout: 30000 });
  32 |     expect(await page.locator('section#boundary').evaluate(s => s.previousElementSibling?.id)).toBe(after);
  33 |     await expect(page.locator('section#boundary a', { hasText: 'Boundary as GeoJSON' })).toHaveAttribute('href', /\.geojson$/);
  34 |     expect(failures).toEqual([]);
  35 |   });
  36 | }
  37 | 
```