mitgliederverwaltung/test/mv_web/user_live/form_debug_test.exs
Moritz ad51a226f7
Some checks failed
continuous-integration/drone/push Build is failing
feat: add user to member linking
2025-11-13 22:31:32 +01:00

52 lines
1.7 KiB
Elixir

defmodule MvWeb.UserLive.FormDebugTest do
use MvWeb.ConnCase, async: true
import Phoenix.LiveViewTest
# Helper to setup authenticated connection and live view
defp setup_live_view(conn, path) do
conn = conn_with_oidc_user(conn, %{email: "admin@example.com"})
live(conn, path)
end
describe "debug member loading" do
test "check if members are loaded on mount", %{conn: conn} do
# Create an unlinked member
{:ok, member} =
Mv.Membership.create_member(%{
first_name: "Jane",
last_name: "Smith",
email: "jane@example.com"
})
# Create user without member
user = create_test_user(%{email: "user@example.com"})
# Mount the form
{:ok, view, html} = setup_live_view(conn, "/users/#{user.id}/edit")
# Debug: Check what's in the HTML
IO.puts("\n=== HTML OUTPUT ===")
IO.puts(html)
IO.puts("\n=== END HTML ===")
# Check socket assigns
IO.puts("\n=== SOCKET ASSIGNS ===")
assigns = :sys.get_state(view.pid).socket.assigns
IO.puts("available_members: #{inspect(assigns[:available_members])}")
IO.puts("show_member_dropdown: #{inspect(assigns[:show_member_dropdown])}")
IO.puts("member_search_query: #{inspect(assigns[:member_search_query])}")
IO.puts("user.member: #{inspect(assigns[:user].member)}")
IO.puts("\n=== END ASSIGNS ===")
# Try to find the dropdown
assert has_element?(view, "input[name='member_search']")
# Check if member is in the dropdown
if has_element?(view, "div[data-member-id='#{member.id}']") do
IO.puts("\n✓ Member found in dropdown")
else
IO.puts("\n✗ Member NOT found in dropdown")
end
end
end
end