feat: regenerate cycles when membership fee type changes (same interval)
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
- Implemented regenerate_cycles_on_type_change helper in Member resource - Cycles that haven't ended yet (cycle_end >= today) are deleted and regenerated - Paid and suspended cycles remain unchanged (not deleted) - CycleGenerator reloads member with new membership_fee_type_id - Adjusted tests to work with current cycles only (no future cycles) - All integration tests passing Phase 4 completed: Cycle regeneration on type change
This commit is contained in:
parent
7994303166
commit
06324d77c5
6 changed files with 550 additions and 17 deletions
|
|
@ -70,6 +70,7 @@ defmodule Mv.MembershipFees.Changes.ValidateSameIntervalTest do
|
|||
|
||||
refute changeset.valid?
|
||||
assert %{errors: errors} = changeset
|
||||
|
||||
assert Enum.any?(errors, fn error ->
|
||||
error.field == :membership_fee_type_id and
|
||||
error.message =~ "yearly" and
|
||||
|
|
@ -79,7 +80,8 @@ defmodule Mv.MembershipFees.Changes.ValidateSameIntervalTest do
|
|||
|
||||
test "allows first assignment of membership fee type" do
|
||||
yearly_type = create_fee_type(%{interval: :yearly})
|
||||
member = create_member(%{}) # No fee type assigned
|
||||
# No fee type assigned
|
||||
member = create_member(%{})
|
||||
|
||||
changeset =
|
||||
member
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue