feat: add ui to add members to groups
This commit is contained in:
parent
a536485b30
commit
7f001c55c5
19 changed files with 881 additions and 243 deletions
|
|
@ -37,8 +37,9 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
# phx-change is on the form, so we need to trigger it via the form
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => "Alice"})
|
||||
|
||||
view
|
||||
|
|
@ -46,7 +47,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> render_click()
|
||||
|
||||
view
|
||||
|> element("button", "Add")
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
|
||||
# Verify in database
|
||||
|
|
@ -86,7 +87,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|
||||
# Remove member via UI
|
||||
view
|
||||
|> element("button[phx-click='remove_member']", "")
|
||||
|> element("button[phx-click='remove_member'][phx-value-member_id='#{member.id}']")
|
||||
|> render_click()
|
||||
|
||||
# Verify in database
|
||||
|
|
@ -128,8 +129,9 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
# phx-change is on the form, so we need to trigger it via the form
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => "Charlie"})
|
||||
|
||||
view
|
||||
|
|
@ -137,7 +139,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> render_click()
|
||||
|
||||
view
|
||||
|> element("button", "Add")
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
|
||||
# Verify MemberGroup association exists
|
||||
|
|
@ -179,7 +181,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|
||||
# Remove member
|
||||
view
|
||||
|> element("button[phx-click='remove_member']", "")
|
||||
|> element("button[phx-click='remove_member'][phx-value-member_id='#{member.id}']")
|
||||
|> render_click()
|
||||
|
||||
# Verify MemberGroup association is deleted
|
||||
|
|
@ -267,8 +269,9 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
# phx-change is on the form, so we need to trigger it via the form
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => "Frank"})
|
||||
|
||||
view
|
||||
|
|
@ -276,7 +279,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> render_click()
|
||||
|
||||
view
|
||||
|> element("button", "Add")
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
|
||||
# Add second member
|
||||
|
|
@ -288,8 +291,9 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
# phx-change is on the form, so we need to trigger it via the form
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => "Grace"})
|
||||
|
||||
view
|
||||
|
|
@ -297,7 +301,7 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> render_click()
|
||||
|
||||
view
|
||||
|> element("button", "Add")
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
|
||||
# Both members should be in list
|
||||
|
|
@ -347,12 +351,12 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|
||||
# Remove first member
|
||||
view
|
||||
|> element("button[phx-click='remove_member']", "")
|
||||
|> element("button[phx-click='remove_member'][phx-value-member_id='#{member1.id}']")
|
||||
|> render_click()
|
||||
|
||||
# Remove second member
|
||||
view
|
||||
|> element("button[phx-click='remove_member']", "")
|
||||
|> element("button[phx-click='remove_member'][phx-value-member_id='#{member2.id}']")
|
||||
|> render_click()
|
||||
|
||||
# Both should be removed
|
||||
|
|
@ -401,8 +405,9 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> element("#member-search-input")
|
||||
|> render_focus()
|
||||
|
||||
# phx-change is on the form, so we need to trigger it via the form
|
||||
view
|
||||
|> element("#member-search-input")
|
||||
|> element("form[phx-change='search_members']")
|
||||
|> render_change(%{"member_search" => "Kate"})
|
||||
|
||||
view
|
||||
|
|
@ -410,12 +415,12 @@ defmodule MvWeb.GroupLive.ShowIntegrationTest do
|
|||
|> render_click()
|
||||
|
||||
view
|
||||
|> element("button", "Add")
|
||||
|> element("button[phx-click='add_selected_members']")
|
||||
|> render_click()
|
||||
|
||||
# Remove member1
|
||||
view
|
||||
|> element("button[phx-click='remove_member']", "")
|
||||
|> element("button[phx-click='remove_member'][phx-value-member_id='#{member1.id}']")
|
||||
|> render_click()
|
||||
|
||||
# Only member2 should remain
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue