defmodule ToweropsWeb.UserSettingsHTMLTest do use ToweropsWeb.ConnCase, async: true import Phoenix.Template, only: [render_to_string: 4] alias Towerops.Accounts.User describe "edit.html" do test "renders settings form" do email_changeset = User.email_changeset(%User{email: "user@example.com"}, %{}) password_changeset = User.password_changeset(%User{}, %{}) html = render_to_string(ToweropsWeb.UserSettingsHTML, "edit", "html", flash: %{}, current_scope: nil, email_changeset: email_changeset, password_changeset: password_changeset, credentials: [], can_register_passkey: true ) assert html =~ "Account Settings" assert html =~ "Change Email" assert html =~ "Save Password" assert html =~ "Passkeys" assert html =~ "No passkeys registered" end test "renders warning when cannot register passkey" do email_changeset = User.email_changeset(%User{email: "user@example.com"}, %{}) password_changeset = User.password_changeset(%User{}, %{}) html = render_to_string(ToweropsWeb.UserSettingsHTML, "edit", "html", flash: %{}, current_scope: nil, email_changeset: email_changeset, password_changeset: password_changeset, credentials: [], can_register_passkey: false ) assert html =~ "Please confirm your email address before registering a passkey" end end end