defmodule ToweropsWeb.WeathermapLiveTest do 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: "Weathermap Org"}, user.id) %{organization: organization} end describe "mount" do test "renders weathermap page", %{conn: conn} do {:ok, _view, html} = live(conn, ~p"/weathermap") assert html =~ "Weathermap" end end describe "handle_event" do test "set_filter does not crash", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") render_click(view, "set_filter", %{"filter" => "wired"}) assert render(view) end test "search does not crash", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") render_click(view, "search", %{"query" => "router"}) assert render(view) end test "toggle_layout does not crash", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") render_click(view, "toggle_layout", %{"mode" => "hierarchical"}) assert render(view) end test "close_detail_panel does not crash", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") render_click(view, "close_detail_panel", %{}) assert render(view) end end describe "handle_info" do test "refresh_data does not crash", %{conn: conn} do {:ok, view, _html} = live(conn, ~p"/weathermap") send(view.pid, :refresh_data) Process.sleep(50) assert render(view) end end end