Tests: restore settings in on_exit to avoid leftover state

Setup + on_exit save/restore member_field_visibility and
member_field_required in member, setting, index_component and
form_error_handling tests.
This commit is contained in:
Moritz 2026-02-23 22:50:01 +01:00
parent 50c4ab049d
commit e9ed61a8fd
Signed by: moritz
GPG key ID: 1020A035E5DD0824
4 changed files with 68 additions and 36 deletions

View file

@ -84,6 +84,23 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
end
describe "required fields" do
setup do
{:ok, settings} = Membership.get_settings()
saved_visibility = settings.member_field_visibility || %{}
saved_required = settings.member_field_required || %{}
on_exit(fn ->
{:ok, s} = Membership.get_settings()
Membership.update_settings(s, %{
member_field_visibility: saved_visibility,
member_field_required: saved_required
})
end)
:ok
end
test "marks email as required (always from settings)", %{conn: conn} do
{:ok, _view, html} = live(conn, ~p"/settings")
@ -107,15 +124,6 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
# First name row should show Required (and Optional for others)
assert html =~ "First name" or html =~ "first_name"
assert html =~ "Required"
# Reset
{:ok, settings} = Membership.get_settings()
Membership.update_single_member_field(settings,
field: "first_name",
show_in_overview: true,
required: false
)
end
test "optional fields show Optional when not required in settings", %{conn: conn} do