Merge branch 'main' into feat/299_plz
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
carla 2026-02-24 10:40:26 +01:00
commit 63040afee7
68 changed files with 4858 additions and 743 deletions

View file

@ -9,6 +9,23 @@ defmodule MvWeb.MemberLive.FormErrorHandlingTest do
require Ash.Query
describe "error handling - flash messages" do
setup do
{:ok, settings} = Mv.Membership.get_settings()
saved_visibility = settings.member_field_visibility || %{}
saved_required = settings.member_field_required || %{}
on_exit(fn ->
{:ok, s} = Mv.Membership.get_settings()
Mv.Membership.update_settings(s, %{
member_field_visibility: saved_visibility,
member_field_required: saved_required
})
end)
:ok
end
@describetag :ui
test "shows flash message when member creation fails with validation error", %{conn: conn} do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
@ -74,6 +91,36 @@ 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"
end
test "shows flash message when member update fails", %{conn: conn} do
system_actor = Mv.Helpers.SystemActor.get_system_actor()