Skip to content

test(frontend): cover map layers, relay details dialog and family selection dialog - #575

Merged
JuliusHenke merged 1 commit into
masterfrom
chore/frontend-dialog-tests
Oct 10, 2026
Merged

JuliusHenke merged 1 commit into
masterfrom
chore/frontend-dialog-tests

Conversation

@JuliusHenke

Copy link
Copy Markdown
Member

Summary

Fifth step of the frontend testing plan (follows #570, #571, #573, #574). Tests the interaction flows around the map.

  • LeafletLayers.test.tsx: statistics and filtered relay reporting, marker/hover target drawing, no draw before data, the no-relays warning, coordinate aggregation, heat layer on/off, country grouping (polygons, click to select, stale selection reset), family grouping (no data warning, direct selection, picking between families through the family dialog, stale selection reset, deselect), and a marker click opening the details dialog. Layer clicks fire on the real Leaflet layers found through the map.
  • ResponsiveRelayDetailsDialog.test.tsx (large and small screens): single relay details, number/flag formatting, list of several relays and choosing one, search and auto-select of a single match, empty search, quick actions (restrict to relay type, select family), missing details warning, failed list and details lookups, back navigation on small screens, batch rendering of long lists.
  • FamilySelectionDialog.test.tsx (large and small): table of families, selecting a row, reload when families are outdated, failed lookup, no lookup without families.
  • src/test/fixtures.ts: makeRelayDetails, makeRelayIdentifier, makeFamilyIdentifier.

No production code changed.

Notes for reviewers

  • toHaveTextContent with a regular expression does not match in Vitest browser mode here, so those assertions use expect.poll(...).toMatch.
  • A modal dialog hides the page from role queries, so one test reads its probe output from the DOM.

Coverage

Whole project: 93.0% lines, 87.9% branches, 88.3% functions (was 76.7% lines / 56.0% branches). Remaining gaps are mostly the settings/date/overlay/about components, which are the next PR.

Deployment notes

None.

Dependency vetting

No dependency changes.

Verification (Node 24)

  • 177 tests pass (45 unit, 132 browser), full run about 11.5 s, run twice for stability.
  • tsc clean, eslint clean.
  • Browser project was run outside the Claude Code sandbox, which blocks Chromium.

🤖 Generated with Claude Code

…ection dialog

Adds integration tests for LeafletLayers (statistics, aggregation, heat map,
country and family grouping, marker clicks), the relay details dialog on
large and small screens (single relay, list, search, quick actions, failure
paths, paging) and the family selection dialog. Adds details and family
fixtures.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@JuliusHenke JuliusHenke added enhancement New feature or request frontend labels Oct 10, 2026
@github-actions

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 3d91907):

https://tormap-36f44--pr575-chore-frontend-dialo-xls65sbp.web.app

(expires Mon, 09 Nov 2026 15:00:11 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0c1f71965de18e60b0e686b0d0356977fec090dc

@JuliusHenke
JuliusHenke merged commit b6c05f7 into master Oct 10, 2026
13 checks passed
@JuliusHenke
JuliusHenke deleted the chore/frontend-dialog-tests branch October 10, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant