test: add tests for disabled button states in member index
Add tests to verify that copy and open-email buttons are disabled when no members are selected and enabled after selection. Also verify that the counter shows the correct count.
This commit is contained in:
parent
be6ea56860
commit
9f9d888657
1 changed files with 18 additions and 3 deletions
|
|
@ -410,7 +410,17 @@ defmodule MvWeb.MemberLive.IndexTest do
|
||||||
assert render(view) =~ "1"
|
assert render(view) =~ "1"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "copy button is visible when members are selected", %{
|
test "copy button is disabled when no members selected", %{conn: conn} do
|
||||||
|
conn = conn_with_oidc_user(conn)
|
||||||
|
{:ok, view, _html} = live(conn, "/members")
|
||||||
|
|
||||||
|
# Copy button should be disabled (button element)
|
||||||
|
assert has_element?(view, "#copy-emails-btn[disabled]")
|
||||||
|
# Open email button should be disabled (link with tabindex and aria-disabled)
|
||||||
|
assert has_element?(view, "#open-email-btn[tabindex='-1'][aria-disabled='true']")
|
||||||
|
end
|
||||||
|
|
||||||
|
test "copy button is enabled after selection", %{
|
||||||
conn: conn,
|
conn: conn,
|
||||||
member1: member1
|
member1: member1
|
||||||
} do
|
} do
|
||||||
|
|
@ -420,8 +430,13 @@ defmodule MvWeb.MemberLive.IndexTest do
|
||||||
# Select a member by sending the select_member event directly
|
# Select a member by sending the select_member event directly
|
||||||
render_click(view, "select_member", %{"id" => member1.id})
|
render_click(view, "select_member", %{"id" => member1.id})
|
||||||
|
|
||||||
# Button should now be visible
|
# Copy button should now be enabled (no disabled attribute)
|
||||||
assert has_element?(view, "#copy-emails-btn")
|
refute has_element?(view, "#copy-emails-btn[disabled]")
|
||||||
|
# Open email button should now be enabled (no tabindex=-1 or aria-disabled)
|
||||||
|
refute has_element?(view, "#open-email-btn[tabindex='-1']")
|
||||||
|
refute has_element?(view, "#open-email-btn[aria-disabled='true']")
|
||||||
|
# Counter should show correct count
|
||||||
|
assert render(view) =~ "1"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "copy button click triggers event and shows flash", %{
|
test "copy button click triggers event and shows flash", %{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue