This commit is contained in:
parent
e4671e816b
commit
900f322422
11 changed files with 161 additions and 80 deletions
59
test/support/group_live_helpers.ex
Normal file
59
test/support/group_live_helpers.ex
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
defmodule MvWeb.GroupLiveHelpers do
|
||||
@moduledoc """
|
||||
Helpers for Group LiveView tests (e.g. group show add/remove member flow).
|
||||
|
||||
Use these to reduce duplication in tests that open the add member area,
|
||||
search, select, and add members.
|
||||
"""
|
||||
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
@doc """
|
||||
Opens the inline add member area by clicking "Add Member".
|
||||
"""
|
||||
def open_add_member(view) do
|
||||
view
|
||||
|> element("button", "Add Member")
|
||||
|> render_click()
|
||||
end
|
||||
|
||||
@doc """
|
||||
Triggers member search by focusing the input and sending a form change with the given query.
|
||||
"""
|
||||
def search_member(view, query) do
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
view
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => query})
|
||||
end
|
||||
|
||||
@doc """
|
||||
Clicks the option for the given member in the dropdown (by data-member-id).
|
||||
"""
|
||||
def select_member(view, member) do
|
||||
view
|
||||
|> element("[data-member-id='#{member.id}']")
|
||||
|> render_click()
|
||||
end
|
||||
|
||||
@doc """
|
||||
Clicks the "Add" button (add_selected_members).
|
||||
"""
|
||||
def add_selected(view) do
|
||||
view
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
end
|
||||
|
||||
@doc """
|
||||
Clicks the "Cancel" button to close the inline add member area.
|
||||
"""
|
||||
def cancel_add_member(view) do
|
||||
view
|
||||
|> element("button[phx-click='hide_add_member_input']")
|
||||
|> render_click()
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue