This commit is contained in:
parent
e8f27690a1
commit
a8d9fe6121
4 changed files with 198 additions and 0 deletions
|
|
@ -110,4 +110,69 @@ defmodule MvWeb.GlobalSettingsLiveTest do
|
|||
assert html =~ "SMTP" or html =~ "E-Mail" or html =~ "Settings"
|
||||
end
|
||||
end
|
||||
|
||||
describe "Authentication section when OIDC-only is enabled" do
|
||||
setup %{conn: conn} do
|
||||
user = create_test_user(%{email: "admin@example.com"})
|
||||
conn = conn_with_oidc_user(conn, user)
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
original_oidc_only = Map.get(settings, :oidc_only, false)
|
||||
{:ok, _} = Membership.update_settings(settings, %{oidc_only: true})
|
||||
{:ok, conn: conn, original_oidc_only: original_oidc_only}
|
||||
end
|
||||
|
||||
@describetag :ui
|
||||
test "registration checkbox is disabled when OIDC-only is enabled", %{
|
||||
conn: conn,
|
||||
original_oidc_only: original
|
||||
} do
|
||||
try do
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
assert has_element?(view, "#registration-enabled-checkbox[disabled]")
|
||||
after
|
||||
{:ok, s} = Membership.get_settings()
|
||||
Membership.update_settings(s, %{oidc_only: original})
|
||||
end
|
||||
end
|
||||
|
||||
@describetag :ui
|
||||
test "OIDC-only hint is visible when OIDC-only is enabled", %{
|
||||
conn: conn,
|
||||
original_oidc_only: original
|
||||
} do
|
||||
try do
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
assert has_element?(view, "[data-testid='oidc-only-registration-hint']")
|
||||
after
|
||||
{:ok, s} = Membership.get_settings()
|
||||
Membership.update_settings(s, %{oidc_only: original})
|
||||
end
|
||||
end
|
||||
|
||||
test "when OIDC-only is disabled, registration checkbox is enabled and can be toggled", %{
|
||||
conn: conn,
|
||||
original_oidc_only: original
|
||||
} do
|
||||
try do
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
Membership.update_settings(settings, %{oidc_only: false})
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
refute has_element?(view, "#registration-enabled-checkbox[disabled]")
|
||||
|
||||
initial_checked =
|
||||
view |> element("#registration-enabled-checkbox") |> render() =~ "checked"
|
||||
|
||||
view
|
||||
|> element("#registration-enabled-checkbox")
|
||||
|> render_click()
|
||||
|
||||
new_checked = view |> element("#registration-enabled-checkbox") |> render() =~ "checked"
|
||||
assert new_checked != initial_checked
|
||||
after
|
||||
{:ok, s} = Membership.get_settings()
|
||||
Membership.update_settings(s, %{oidc_only: original})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue