test: add MapLive.Index event-handler integration tests

This commit is contained in:
Graham McIntire 2026-04-23 16:51:41 -05:00
parent 65c53302f5
commit b6adf64dbd
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -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