diff --git a/test/aprsme_web/live/map_live/index_test.exs b/test/aprsme_web/live/map_live/index_test.exs index 1d2d2b8..22dc8b7 100644 --- a/test/aprsme_web/live/map_live/index_test.exs +++ b/test/aprsme_web/live/map_live/index_test.exs @@ -169,5 +169,101 @@ defmodule AprsmeWeb.MapLive.IndexTest do # Simulate map initialization assert render_hook(view, "map_ready", %{}) end + + test "handles locate_me event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "locate_me", %{}) + end + + test "handles set_location event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "set_location", %{"lat" => 40.5, "lng" => -98.5}) + end + + test "handles marker_clicked event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "marker_clicked", %{}) + end + + test "handles marker_hover_end event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "marker_hover_end", %{}) + end + + test "handles update_callsign event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "update_callsign", %{"callsign" => "K5ABC"}) + end + + test "handles track_callsign event with a callsign", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "track_callsign", %{"callsign" => "K5ABC"}) + end + + test "handles track_callsign event with empty callsign (clears tracking)", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "track_callsign", %{"callsign" => ""}) + end + + test "handles clear_tracking event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "clear_tracking", %{}) + end + + test "handles update_trail_duration event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "update_trail_duration", %{"trail_duration" => "2"}) + end + + test "handles search_callsign event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "search_callsign", %{"callsign" => "K1ABC"}) + end + + test "handles toggle_slideover event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "toggle_slideover", %{}) + end + + test "handles set_slideover_state event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "set_slideover_state", %{"open" => true}) + assert render_hook(view, "set_slideover_state", %{"open" => false}) + end + + test "handles geolocation_error event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "geolocation_error", %{"error" => "permission denied"}) + end + + test "handles request_geolocation event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "request_geolocation", %{}) + end + + test "handles popup_closed event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + assert render_hook(view, "popup_closed", %{}) + end + + test "handles update_map_state event", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + + assert render_hook(view, "update_map_state", %{ + "center" => %{"lat" => 40.5, "lng" => -98.5}, + "zoom" => 10 + }) + end + + test "handles marker_hover_start event with a path", %{conn: conn} do + {:ok, view, _html} = live(conn, "/") + + assert render_hook(view, "marker_hover_start", %{ + "id" => "K1ABC", + "path" => "K5XYZ,WIDE1-1", + "lat" => 40.0, + "lng" => -98.0 + }) + end end end