test: UserSettingsLive delete_api_token + revoke_session/mobile_device events

This commit is contained in:
Graham McIntire 2026-05-09 10:27:53 -05:00
parent 9ba80addf1
commit 8bc4f120c6

View file

@ -295,6 +295,56 @@ defmodule ToweropsWeb.UserSettingsLiveTest do
end
end
describe "UserSettingsLive delete_api_token / revoke_session events" do
setup :register_and_log_in_user_with_sudo
test "delete_api_token with a real token deletes it", %{conn: conn, user: user} do
org = Towerops.OrganizationsFixtures.organization_fixture(user.id)
{:ok, {token, _raw}} =
Towerops.ApiTokens.create_api_token(%{
organization_id: org.id,
user_id: user.id,
name: "ToBeDeleted"
})
{:ok, view, _html} = live(conn, ~p"/users/settings?tab=api")
html = render_click(view, "delete_api_token", %{"token-id" => token.id})
assert is_binary(html)
end
test "revoke_session with unknown id flashes 'Session not found'", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/users/settings?tab=sessions")
html =
render_click(view, "revoke_session", %{"session-id" => Ecto.UUID.generate()})
assert html =~ "not found" or html =~ "User Settings"
end
test "revoke_mobile_device with unknown id stays alive", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/users/settings?tab=notifications")
html =
render_click(view, "revoke_mobile_device", %{"session-id" => Ecto.UUID.generate()})
assert is_binary(html)
end
test "toggle_device_alerts with unknown id stays alive", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/users/settings?tab=notifications")
html =
render_click(view, "toggle_device_alerts", %{
"session-id" => Ecto.UUID.generate(),
"enabled" => "true"
})
assert is_binary(html)
end
end
describe "UserSettingsLive TOTP add device flow with sudo mode" do
setup :register_and_log_in_user_with_sudo