test(membership-fees): share create_fee_type and create_cycle fixtures

Replace the create_fee_type/create_cycle helpers duplicated across 18/8
membership-fee test files with a single shared definition in Mv.Fixtures,
reconciling the divergent local signatures (including the reversed
argument order) into one superset so behavior is unchanged.
This commit is contained in:
Moritz 2026-06-16 17:49:50 +02:00
parent 9aa5bdb6a7
commit 18fb954f73
19 changed files with 279 additions and 513 deletions

View file

@ -5,6 +5,7 @@ defmodule MvWeb.MembershipFeeTypeLive.FormTest do
use MvWeb.ConnCase, async: false
import Phoenix.LiveViewTest
import Mv.Fixtures, only: [create_fee_type: 1]
alias Mv.MembershipFees.MembershipFeeType
@ -17,23 +18,6 @@ defmodule MvWeb.MembershipFeeTypeLive.FormTest do
%{conn: authenticated_conn, user: user}
end
# Helper to create a membership fee type
defp create_fee_type(attrs) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()
default_attrs = %{
name: "Test Fee Type #{System.unique_integer([:positive])}",
amount: Decimal.new("50.00"),
interval: :yearly
}
attrs = Map.merge(default_attrs, attrs)
MembershipFeeType
|> Ash.Changeset.for_create(:create, attrs)
|> Ash.create!(actor: system_actor)
end
# Helper to create a member
defp create_member(attrs) do
system_actor = Mv.Helpers.SystemActor.get_system_actor()

View file

@ -5,6 +5,7 @@ defmodule MvWeb.MembershipFeeTypeLive.IndexTest do
use MvWeb.ConnCase, async: false
import Phoenix.LiveViewTest
import Mv.Fixtures, only: [create_fee_type: 2]
alias Mv.MembershipFees.MembershipFeeType
@ -13,22 +14,6 @@ defmodule MvWeb.MembershipFeeTypeLive.IndexTest do
# Use global setup from ConnCase which provides admin user with role
# No custom setup needed
# Helper to create a membership fee type
# Uses admin_user to test permissions (UI-/Permissions-nah)
defp create_fee_type(attrs, admin_user) do
default_attrs = %{
name: "Test Fee Type #{System.unique_integer([:positive])}",
amount: Decimal.new("50.00"),
interval: :yearly
}
attrs = Map.merge(default_attrs, attrs)
MembershipFeeType
|> Ash.Changeset.for_create(:create, attrs)
|> Ash.create!(actor: admin_user)
end
# Helper to create a member. Requires actor (e.g. admin_user from setup); no fallback so
# missing-actor bugs are not masked in tests.
defp create_member(attrs, actor) do