diff --git a/Justfile b/Justfile index b28dbdc..1874b67 100644 --- a/Justfile +++ b/Justfile @@ -35,8 +35,8 @@ audit: mix deps.audit mix hex.audit -test *args: install-dependencies start-database - mix test {{args}} +test: install-dependencies start-database + mix test format: mix format diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 7a0de39..4c8a1af 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -28,8 +28,7 @@ defmodule MvWeb.MemberLive.Index do member = Ash.get!(Mv.Membership.Member, id) Ash.destroy!(member) - updated_members = Enum.reject(socket.assigns.members, &(&1.id == id)) - {:noreply, assign(socket, :members, updated_members)} + {:noreply, stream_delete(socket, :members, member)} end # Selects one member in the list of members diff --git a/test/mv_web/member_live/index_test.exs b/test/mv_web/member_live/index_test.exs index f697d6e..a119a51 100644 --- a/test/mv_web/member_live/index_test.exs +++ b/test/mv_web/member_live/index_test.exs @@ -1,7 +1,6 @@ defmodule MvWeb.MemberLive.IndexTest do use MvWeb.ConnCase, async: true import Phoenix.LiveViewTest - require Ash.Query test "shows translated title in German", %{conn: conn} do conn = conn_with_oidc_user(conn) @@ -121,31 +120,4 @@ defmodule MvWeb.MemberLive.IndexTest do assert state.socket.assigns.query == "Friedrich" assert is_list(state.socket.assigns.members) end - - test "can delete a member without error", %{conn: conn} do - # Create a test member first - {:ok, member} = - Mv.Membership.create_member(%{ - first_name: "Test", - last_name: "User", - email: "test@example.com" - }) - - conn = conn_with_oidc_user(conn) - {:ok, index_view, _html} = live(conn, "/members") - - # Verify the member is displayed - assert has_element?(index_view, "#members", "Test User") - - # Click the delete link for this member - index_view - |> element("a", "Delete") - |> render_click() - - # Verify the member is no longer displayed - refute has_element?(index_view, "#members", "Test User") - - # Verify the member was actually deleted from the database - assert not (Mv.Membership.Member |> Ash.Query.filter(id == ^member.id) |> Ash.exists?()) - end end