From 137dca523aeed311517d46a00a1232866a5c199a Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 10 Mar 2026 18:15:12 +0100 Subject: [PATCH] test: remove skipped linked-member full-router integration tests --- .../plugs/check_page_permission_test.exs | 85 +------------------ 1 file changed, 3 insertions(+), 82 deletions(-) diff --git a/test/mv_web/plugs/check_page_permission_test.exs b/test/mv_web/plugs/check_page_permission_test.exs index 1b3f827..f7233a9 100644 --- a/test/mv_web/plugs/check_page_permission_test.exs +++ b/test/mv_web/plugs/check_page_permission_test.exs @@ -456,88 +456,9 @@ defmodule MvWeb.Plugs.CheckPagePermissionTest do assert conn.status == 200 end - # Full-router test: session may not preserve member_id; plug logic covered by unit test - # "own_data user with linked member can access /members/:id/edit (plug direct call)". - @tag role: :member - @tag :skip - test "GET /members/:id/edit (linked member edit) returns 200 when user has linked member", %{ - conn: conn, - current_user: user - } do - member = Mv.Fixtures.member_fixture() - system_actor = Mv.Helpers.SystemActor.get_system_actor() - - {:ok, user_after_update} = - user - |> Ash.Changeset.for_update(:update, %{}) - |> Ash.Changeset.force_set_argument(:member, %{id: member.id}) - |> Ash.update(actor: system_actor) - - user_with_member = - user_after_update - |> Ash.load!([:role], domain: Mv.Accounts) - |> Mv.Authorization.Actor.ensure_loaded() - |> Map.put(:member_id, member.id) - - conn = conn_with_password_user(conn, user_with_member) - - conn = get(conn, "/members/#{member.id}/edit") - assert conn.status == 200 - end - - @tag role: :member - @tag :skip - test "GET /members/:id/show/edit (linked member show edit) returns 200 when user has linked member", - %{ - conn: conn, - current_user: user - } do - member = Mv.Fixtures.member_fixture() - system_actor = Mv.Helpers.SystemActor.get_system_actor() - - {:ok, user_after_update} = - user - |> Ash.Changeset.for_update(:update, %{}) - |> Ash.Changeset.force_set_argument(:member, %{id: member.id}) - |> Ash.update(actor: system_actor) - - user_with_member = - user_after_update - |> Ash.load!([:role], domain: Mv.Accounts) - |> Mv.Authorization.Actor.ensure_loaded() - |> Map.put(:member_id, member.id) - - conn = conn_with_password_user(conn, user_with_member) - - conn = get(conn, "/members/#{member.id}/show/edit") - assert conn.status == 200 - end - - # Skipped: MemberLive.Show requires membership fee cycle data; plug allows access - # (page loads then LiveView may error). - @tag role: :member - @tag :skip - test "GET /members/:id for linked member returns 200", %{conn: conn, current_user: user} do - system_actor = Mv.Helpers.SystemActor.get_system_actor() - member = Mv.Fixtures.member_fixture() - - user = - user - |> Ash.Changeset.for_update(:update_user, %{}) - |> Ash.Changeset.force_set_argument(:member, %{id: member.id}) - |> Ash.update(actor: system_actor) - |> case do - {:ok, u} -> Ash.load!(u, :role, domain: Mv.Accounts, actor: system_actor) - {:error, _} -> user - end - - conn = - conn - |> MvWeb.ConnCase.conn_with_password_user(user) - |> get("/members/#{member.id}") - - assert conn.status == 200 - end + # Linked-member access to /members/:id and edit routes: full-router tests are not feasible + # (session does not preserve member_id after auth). Plug behavior is covered by the unit + # tests "own_data user with linked member can access ... (plug direct call)" above. end # read_only (Vorstand/Buchhaltung): allowed /, /members, /members/:id, /groups, /groups/:slug