52 lines
1.7 KiB
Elixir
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
|