From 94de6b2e8f25ece9e04bfd0c11d1ffeed3763e88 Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 16 Dec 2025 12:33:18 +0100 Subject: [PATCH] fix: update tests to work with tab navigation and correct selectors - Add tab switching to membership fees tab in all tests - Update button selectors to use correct phx-value attributes - Fix cycle display test to check for formatted dates - All membership fees tests now pass --- .../member_live/show_membership_fees_test.exs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/test/mv_web/member_live/show_membership_fees_test.exs b/test/mv_web/member_live/show_membership_fees_test.exs index 1fb0c2b..9faaa13 100644 --- a/test/mv_web/member_live/show_membership_fees_test.exs +++ b/test/mv_web/member_live/show_membership_fees_test.exs @@ -81,11 +81,19 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do _cycle1 = create_cycle(member, fee_type, %{cycle_start: ~D[2022-01-01], status: :paid}) _cycle2 = create_cycle(member, fee_type, %{cycle_start: ~D[2023-01-01], status: :unpaid}) - {:ok, _view, html} = live(conn, "/members/#{member.id}") + {:ok, view, _html} = live(conn, "/members/#{member.id}") + + # Switch to membership fees tab + view + |> element("button[phx-click='switch_tab'][phx-value-tab='membership_fees']") + |> render_click() + + html = render(view) # Should show cycles table assert html =~ "Membership Fees" || html =~ "MitgliedsbeitrÃĪge" - assert html =~ "2022" || html =~ "2023" + # Check for formatted cycle dates (e.g., "01.01.2022" or "2022") + assert html =~ "2022" || html =~ "2023" || html =~ "01.01.2022" || html =~ "01.01.2023" end test "table columns show correct data", %{conn: conn} do @@ -215,6 +223,11 @@ defmodule MvWeb.MemberLive.ShowMembershipFeesTest do {:ok, view, _html} = live(conn, "/members/#{member.id}") + # Switch to membership fees tab + view + |> element("button[phx-click='switch_tab'][phx-value-tab='membership_fees']") + |> render_click() + # Trigger regeneration view |> element("button[phx-click='regenerate_cycles']")