test: SiteLive force_rediscover + CoverageLive.Show coverage_status broadcast

This commit is contained in:
Graham McIntire 2026-05-08 13:16:13 -05:00
parent 67bb67c722
commit 09e9fd2f3b
2 changed files with 58 additions and 0 deletions

View file

@ -168,4 +168,17 @@ defmodule ToweropsWeb.CoverageLive.ShowTest do
assert Show.status_badge_class("anything-else") =~ "bg-gray"
end
end
describe "handle_info :coverage_status" do
test "coverage_status update reloads the coverage and pushes list-changed",
%{conn: conn, org: org, site: site} do
cov = coverage_fixture(org.id, site.id)
{:ok, view, _html} = live(conn, ~p"/coverage/#{cov.id}")
send(view.pid, {:coverage_status, "ready", %{}})
# Force a render to ensure the handler ran
html = render(view)
assert html =~ cov.name
end
end
end

View file

@ -540,4 +540,49 @@ defmodule ToweropsWeb.SiteLiveTest do
assert html =~ "Applied agent"
end
end
describe "Show - force_rediscover_all" do
test "errors when no SNMP-enabled devices", %{conn: conn, organization: org} do
{:ok, site} = Sites.create_site(%{name: "ND Site", organization_id: org.id})
{:ok, _} =
Towerops.Devices.create_device(%{
name: "Plain",
ip_address: "10.5.5.1",
site_id: site.id,
organization_id: org.id,
snmp_enabled: false
})
{:ok, view, _html} = live(conn, ~p"/sites/#{site.id}")
html = render_click(view, "force_rediscover_all", %{})
assert html =~ "No SNMP-enabled devices"
end
test "enqueues discovery for SNMP devices", %{conn: conn, organization: org} do
{:ok, site} = Sites.create_site(%{name: "RD Site", organization_id: org.id})
{:ok, _d1} =
Towerops.Devices.create_device(%{
name: "S1",
ip_address: "10.5.5.2",
site_id: site.id,
organization_id: org.id,
snmp_enabled: true
})
{:ok, _d2} =
Towerops.Devices.create_device(%{
name: "S2",
ip_address: "10.5.5.3",
site_id: site.id,
organization_id: org.id,
snmp_enabled: true
})
{:ok, view, _html} = live(conn, ~p"/sites/#{site.id}")
html = render_click(view, "force_rediscover_all", %{})
assert html =~ "Discovery started for"
end
end
end