Tests: member required fields, setting, member field live, sync_contact
Add tests for required validation, update_single_member_field, form required map. Add street/postal_code/city to sync_contact when Vereinfacht configured.
This commit is contained in:
parent
27b9cbe814
commit
d44c5bdf94
5 changed files with 208 additions and 34 deletions
|
|
@ -74,6 +74,45 @@ defmodule MvWeb.MemberLive.FormErrorHandlingTest do
|
|||
html =~ "Please correct" or html =~ "Bitte korrigieren"
|
||||
end
|
||||
|
||||
@tag :ui
|
||||
test "shows validation error when settings-required field is missing", %{conn: conn} do
|
||||
{:ok, settings} = Mv.Membership.get_settings()
|
||||
|
||||
{:ok, _} =
|
||||
Mv.Membership.update_single_member_field(settings,
|
||||
field: "first_name",
|
||||
show_in_overview: true,
|
||||
required: true
|
||||
)
|
||||
|
||||
conn = conn_with_oidc_user(conn)
|
||||
{:ok, view, _html} = live(conn, "/members/new")
|
||||
|
||||
# Submit without first_name (required in settings)
|
||||
form_data = %{
|
||||
"member[last_name]" => "User",
|
||||
"member[email]" => "newuser#{System.unique_integer([:positive])}@example.com"
|
||||
}
|
||||
|
||||
html =
|
||||
view
|
||||
|> form("#member-form", form_data)
|
||||
|> render_submit()
|
||||
|
||||
assert html =~ "error" or html =~ "Error" or html =~ "Fehler" or
|
||||
html =~ "first_name" or html =~ "First name" or html =~ "can't be blank" or
|
||||
html =~ "darf nicht leer sein"
|
||||
|
||||
# Reset settings
|
||||
{:ok, settings} = Mv.Membership.get_settings()
|
||||
|
||||
Mv.Membership.update_single_member_field(settings,
|
||||
field: "first_name",
|
||||
show_in_overview: true,
|
||||
required: false
|
||||
)
|
||||
end
|
||||
|
||||
test "shows flash message when member update fails", %{conn: conn} do
|
||||
system_actor = Mv.Helpers.SystemActor.get_system_actor()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue