fix tests and linting
This commit is contained in:
parent
4a6e7cf51a
commit
36776f8e28
11 changed files with 63 additions and 239 deletions
|
|
@ -6,8 +6,6 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
- Rendering all member fields from Mv.Constants.member_fields()
|
||||
- Displaying show_in_overview status as badge (Yes/No)
|
||||
- Displaying required status for required fields (first_name, last_name, email)
|
||||
- Toggle functionality to change show_in_overview flag
|
||||
- Settings are correctly updated after toggle
|
||||
- Current status is displayed based on settings.member_field_visibility
|
||||
- Default status is "Yes" (visible) when not configured in settings
|
||||
"""
|
||||
|
|
@ -86,70 +84,6 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
end
|
||||
end
|
||||
|
||||
describe "toggle functionality" do
|
||||
test "toggles field visibility from visible to hidden", %{conn: conn} do
|
||||
# Start with field visible (default)
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
|
||||
{:ok, _updated} =
|
||||
Membership.update_member_field_visibility(settings, %{"street" => true})
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
|
||||
# Find and click toggle button for street field
|
||||
# This will fail until component is implemented
|
||||
assert has_element?(view, "#member-field-street-toggle") or
|
||||
has_element?(view, "[phx-click='toggle_field_visibility'][data-field='street']")
|
||||
|
||||
# Click toggle
|
||||
view
|
||||
|> element("#member-field-street-toggle")
|
||||
|> render_click(%{"field" => "street"})
|
||||
|
||||
# Verify settings updated
|
||||
{:ok, updated_settings} = Membership.get_settings()
|
||||
visibility = updated_settings.member_field_visibility || %{}
|
||||
assert Map.get(visibility, "street") == false
|
||||
end
|
||||
|
||||
test "toggles field visibility from hidden to visible", %{conn: conn} do
|
||||
# Start with field hidden
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
|
||||
{:ok, _updated} =
|
||||
Membership.update_member_field_visibility(settings, %{"street" => false})
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
|
||||
# Click toggle to make visible
|
||||
view
|
||||
|> element("#member-field-street-toggle")
|
||||
|> render_click(%{"field" => "street"})
|
||||
|
||||
# Verify settings updated
|
||||
{:ok, updated_settings} = Membership.get_settings()
|
||||
visibility = updated_settings.member_field_visibility || %{}
|
||||
assert Map.get(visibility, "street") == true
|
||||
end
|
||||
|
||||
test "sends message to parent LiveView after toggle", %{conn: conn} do
|
||||
{:ok, settings} = Membership.get_settings()
|
||||
|
||||
{:ok, _updated} =
|
||||
Membership.update_member_field_visibility(settings, %{"street" => true})
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/settings")
|
||||
|
||||
# Toggle field
|
||||
view
|
||||
|> element("#member-field-street-toggle")
|
||||
|> render_click(%{"field" => "street"})
|
||||
|
||||
# Check for flash message (handled by parent LiveView)
|
||||
assert render(view) =~ "updated" or render(view) =~ "success"
|
||||
end
|
||||
end
|
||||
|
||||
describe "required fields" do
|
||||
test "marks first_name as required", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue