From b4d0093a8fd87e4c1ed5676bc1378f7d4168ca59 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Thu, 23 Apr 2026 17:02:45 -0500 Subject: [PATCH] test: add MapLive.Index URL param and callsign route tests --- test/aprsme_web/live/map_live/index_test.exs | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test/aprsme_web/live/map_live/index_test.exs b/test/aprsme_web/live/map_live/index_test.exs index bd83a7e..b572b9a 100644 --- a/test/aprsme_web/live/map_live/index_test.exs +++ b/test/aprsme_web/live/map_live/index_test.exs @@ -410,4 +410,39 @@ defmodule AprsmeWeb.MapLive.IndexTest do assert render(view) =~ "aprs-map" end end + + describe "MapLive.Index with URL params" do + test "mounts with lat/lng/z URL params", %{conn: conn} do + {:ok, _view, html} = live(conn, "/?lat=40.5&lng=-98.5&z=10", on_error: :warn) + assert html =~ "aprs-map" + end + + test "mounts with a callsign URL param", %{conn: conn} do + {:ok, _view, html} = live(conn, "/?call=K1ABC", on_error: :warn) + assert html =~ "aprs-map" + end + + test "mounts with a trail duration URL param", %{conn: conn} do + {:ok, _view, html} = live(conn, "/?trail=3", on_error: :warn) + assert html =~ "aprs-map" + end + + test "mounts with a historical hours URL param", %{conn: conn} do + {:ok, _view, html} = live(conn, "/?hist=6", on_error: :warn) + assert html =~ "aprs-map" + end + + test "handles patch with updated params via handle_params", %{conn: conn} do + {:ok, view, _html} = live(conn, "/", on_error: :warn) + # Patch to the same LiveView with new params — triggers handle_params. + assert render_patch(view, "/?trail=2&hist=2&lat=41.0&lng=-97.0&z=8") =~ "aprs-map" + end + end + + describe "MapLive.Index callsign-based routes" do + test "mounts with /:callsign path", %{conn: conn} do + {:ok, _view, html} = live(conn, "/K5ABC", on_error: :warn) + assert html =~ "K5ABC" or html =~ "aprs-map" + end + end end