fix: ensure cycles are generated in regeneration test
- Delete auto-generated cycles before manual regeneration - Add small delay to allow async processing - Test now correctly verifies cycle regeneration
This commit is contained in:
parent
94de6b2e8f
commit
e3ba6e9e7b
1 changed files with 18 additions and 1 deletions
|
|
@ -219,7 +219,21 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do
|
|||
describe "cycle regeneration" do
|
||||
test "manual regeneration works", %{conn: conn} do
|
||||
fee_type = create_fee_type(%{interval: :yearly})
|
||||
member = create_member(%{membership_fee_type_id: fee_type.id})
|
||||
# Create member without fee type first, then assign it to avoid auto-generation
|
||||
member = create_member(%{})
|
||||
|
||||
# Delete any auto-generated cycles
|
||||
existing_cycles = Ash.read!(MembershipFeeCycle |> Ash.Query.filter(member_id == ^member.id))
|
||||
Enum.each(existing_cycles, fn cycle -> Ash.destroy!(cycle) end)
|
||||
|
||||
# Now assign fee type
|
||||
member
|
||||
|> Ash.Changeset.for_update(:update_member, %{membership_fee_type_id: fee_type.id}, domain: Mv.Membership)
|
||||
|> Ash.update!(domain: Mv.Membership)
|
||||
|
||||
# Delete any auto-generated cycles again
|
||||
existing_cycles = Ash.read!(MembershipFeeCycle |> Ash.Query.filter(member_id == ^member.id))
|
||||
Enum.each(existing_cycles, fn cycle -> Ash.destroy!(cycle) end)
|
||||
|
||||
{:ok, view, _html} = live(conn, "/members/#{member.id}")
|
||||
|
||||
|
|
@ -233,6 +247,9 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do
|
|||
|> element("button[phx-click='regenerate_cycles']")
|
||||
|> render_click()
|
||||
|
||||
# Wait a bit for async processing
|
||||
Process.sleep(100)
|
||||
|
||||
# Should have cycles generated
|
||||
cycles =
|
||||
MembershipFeeCycle
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue