feat: restyle tabs and move delete to edit view

This commit is contained in:
carla 2026-02-25 10:33:30 +01:00
parent ff9f98f8e7
commit 02af136fd9
8 changed files with 361 additions and 276 deletions

View file

@ -266,36 +266,42 @@ defmodule MvWeb.MemberLive.IndexTest do
assert is_list(state.socket.assigns.members)
end
test "can delete a member without error", %{conn: conn} do
@tag :ui
test "member index does not render Edit or Delete actions", %{conn: conn} do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
# Create a test member first
{:ok, member} =
{:ok, _member} =
Mv.Membership.create_member(
%{
first_name: "Test",
last_name: "User",
email: "test@example.com"
},
%{first_name: "Test", last_name: "User", email: "test@example.com"},
actor: system_actor
)
conn = conn_with_oidc_user(conn)
{:ok, index_view, _html} = live(conn, "/members")
{:ok, view, html} = live(conn, "/members")
# Verify the member is displayed
assert has_element?(index_view, "#members", "Test User")
refute has_element?(view, "[data-testid='member-edit']")
refute html =~ ~s(data-testid="member-delete")
end
# Click the delete link for this member
index_view
|> element("a", "Delete")
@tag :ui
test "row click navigates to member show", %{conn: conn} do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
{:ok, member} =
Mv.Membership.create_member(
%{first_name: "Row", last_name: "Click", email: "rowclick@example.com"},
actor: system_actor
)
conn = conn_with_oidc_user(conn)
{:ok, view, _html} = live(conn, "/members")
# Click a data cell (e.g. second column = first name) to trigger row navigation
view
|> element("#row-#{member.id} td:nth-child(2)")
|> 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?())
assert_redirect(view, ~p"/members/#{member}")
end
describe "copy_emails feature" do