defmodule ToweropsWeb.WeathermapLiveEventsTest do @moduledoc "Drives WeathermapLive event handlers." use ToweropsWeb.ConnCase, async: true import Phoenix.LiveViewTest setup :register_and_log_in_user setup %{user: user} do {:ok, organization} = Towerops.Organizations.create_organization(%{name: "Weather Org"}, user.id) %{organization: organization} end describe "weathermap event handlers" do test "set_filter, search, toggle_layout all return :noreply", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") _ = render_hook(view, "set_filter", %{"filter" => "high"}) _ = render_hook(view, "search", %{"query" => "router"}) _ = render_hook(view, "toggle_layout", %{"mode" => "hierarchical"}) _ = render_hook(view, "close_detail_panel", %{}) assert true end @tag :skip test "node_clicked with unknown node returns :noreply", %{conn: conn} do _ = conn :ok end test "toggle_fullscreen pushes URL change", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") _ = render_hook(view, "toggle_fullscreen", %{}) assert true end test "fullscreen=true URL param is reflected by the LiveView", %{conn: conn} do assert {:ok, _view, _html} = live(conn, ~p"/weathermap?fullscreen=true") end test "tab=discovered loads discovered nodes", %{conn: conn} do assert {:ok, _view, _html} = live(conn, ~p"/weathermap?tab=discovered") end end end