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