Hide Regenerate Cycles button when no membership fee type assigned
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- Button only shown when @member.membership_fee_type is set (same as Create Cycle). - Test: no-type view asserts Regenerate Cycles button is not present.
This commit is contained in:
parent
c035d0f141
commit
7eba21dc9c
2 changed files with 13 additions and 3 deletions
|
|
@ -53,7 +53,7 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do
|
||||||
<%!-- Action Buttons (only when user has permission) --%>
|
<%!-- Action Buttons (only when user has permission) --%>
|
||||||
<div class="flex gap-2 mb-4">
|
<div class="flex gap-2 mb-4">
|
||||||
<.button
|
<.button
|
||||||
:if={@can_create_cycle}
|
:if={@member.membership_fee_type != nil and @can_create_cycle}
|
||||||
phx-click="regenerate_cycles"
|
phx-click="regenerate_cycles"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
class={["btn btn-sm btn-outline", if(@regenerating, do: "btn-disabled", else: "")]}
|
class={["btn btn-sm btn-outline", if(@regenerating, do: "btn-disabled", else: "")]}
|
||||||
|
|
|
||||||
|
|
@ -117,13 +117,23 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do
|
||||||
assert html =~ "Yearly Type"
|
assert html =~ "Yearly Type"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "shows no type message when no type assigned", %{conn: conn} do
|
test "shows no type message when no type assigned and Regenerate Cycles button is hidden", %{
|
||||||
|
conn: conn
|
||||||
|
} do
|
||||||
member = Mv.Fixtures.member_fixture(%{})
|
member = Mv.Fixtures.member_fixture(%{})
|
||||||
|
|
||||||
{:ok, _view, html} = live(conn, "/members/#{member.id}")
|
{:ok, view, html} = live(conn, "/members/#{member.id}")
|
||||||
|
|
||||||
# Should show message about no type assigned
|
# Should show message about no type assigned
|
||||||
assert html =~ "No membership fee type assigned" || html =~ "No type"
|
assert html =~ "No membership fee type assigned" || html =~ "No type"
|
||||||
|
|
||||||
|
# Switch to membership fees tab: message and no Regenerate Cycles button
|
||||||
|
view
|
||||||
|
|> element("button[phx-click='switch_tab'][phx-value-tab='membership_fees']")
|
||||||
|
|> render_click()
|
||||||
|
|
||||||
|
refute has_element?(view, "button[phx-click='regenerate_cycles']"),
|
||||||
|
"Regenerate Cycles should be hidden when no membership fee type is assigned"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue