From a4b13cef49ab7327ce271cbf418dbb33d3115a86 Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 3 Feb 2026 17:16:11 +0100 Subject: [PATCH] Member LiveViews: row_id and data-testid for actions Table row_id for scoped selectors; data-testid on New/Edit/Delete. --- lib/mv_web/live/member_live/index.html.heex | 8 ++++++-- lib/mv_web/live/member_live/show.ex | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/mv_web/live/member_live/index.html.heex b/lib/mv_web/live/member_live/index.html.heex index c44f3a3..11ade49 100644 --- a/lib/mv_web/live/member_live/index.html.heex +++ b/lib/mv_web/live/member_live/index.html.heex @@ -24,7 +24,7 @@ {gettext("Open in email program")} <%= if can?(@current_user, :create, Mv.Membership.Member) do %> - <.button variant="primary" navigate={~p"/members/new"}> + <.button variant="primary" navigate={~p"/members/new"} data-testid="member-new"> <.icon name="hero-plus" /> {gettext("New Member")} <% end %> @@ -86,6 +86,7 @@ <.table id="members" rows={@members} + row_id={fn member -> "row-#{member.id}" end} row_click={fn member -> JS.navigate(~p"/members/#{member}") end} dynamic_cols={@dynamic_cols} sort_field={@sort_field} @@ -300,7 +301,9 @@ <%= if can?(@current_user, :update, member) do %> - <.link navigate={~p"/members/#{member}/edit"}>{gettext("Edit")} + <.link navigate={~p"/members/#{member}/edit"} data-testid="member-edit"> + {gettext("Edit")} + <% end %> @@ -309,6 +312,7 @@ <.link phx-click={JS.push("delete", value: %{id: member.id}) |> hide("#row-#{member.id}")} data-confirm={gettext("Are you sure?")} + data-testid="member-delete" > {gettext("Delete")} diff --git a/lib/mv_web/live/member_live/show.ex b/lib/mv_web/live/member_live/show.ex index 9ac1fc8..604f166 100644 --- a/lib/mv_web/live/member_live/show.ex +++ b/lib/mv_web/live/member_live/show.ex @@ -40,7 +40,11 @@ defmodule MvWeb.MemberLive.Show do <%= if can?(@current_user, :update, @member) do %> - <.button variant="primary" navigate={~p"/members/#{@member}/edit?return_to=show"}> + <.button + variant="primary" + navigate={~p"/members/#{@member}/edit?return_to=show"} + data-testid="member-edit" + > {gettext("Edit Member")} <% end %>