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

@ -99,6 +99,23 @@ defmodule Mv.Membership.MemberTest do
email: "john@example.com"
}
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 "when first_name is required in settings, create without first_name fails", %{
actor: actor
} do
@ -117,15 +134,6 @@ defmodule Mv.Membership.MemberTest do
Membership.create_member(attrs, actor: actor)
assert error_message(errors, :first_name) =~ "can't be blank"
# Reset so other tests (e.g. "First name is optional") are not affected
{:ok, settings} = Membership.get_settings()
Membership.update_single_member_field(settings,
field: "first_name",
show_in_overview: true,
required: false
)
end
test "when first_name is required in settings, create with first_name succeeds", %{
@ -141,15 +149,6 @@ defmodule Mv.Membership.MemberTest do
)
assert {:ok, _member} = Membership.create_member(@valid_attrs, actor: actor)
# Reset
{:ok, settings} = Membership.get_settings()
Membership.update_single_member_field(settings,
field: "first_name",
show_in_overview: true,
required: false
)
end
end