From 61c5224cbd2a9a865beed063ea6f2a9b46a3f713 Mon Sep 17 00:00:00 2001 From: Tobias Dillmann Date: Wed, 10 Jun 2026 15:43:42 +0200 Subject: [PATCH] [#73887] mocked_permission_helper mirrors UserPermissibleService for empty project It should not grant all permissions if the project argument is `nil`. --- .../work_package_representer_rendering_spec.rb | 8 +++----- spec/support/mocked_permission_helper.rb | 2 +- spec/support_spec/mocked_permission_helper_spec.rb | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/modules/backlogs/spec/lib/api/v3/work_packages/work_package_representer_rendering_spec.rb b/modules/backlogs/spec/lib/api/v3/work_packages/work_package_representer_rendering_spec.rb index 065d0e99dc0..93aa1c13b9f 100644 --- a/modules/backlogs/spec/lib/api/v3/work_packages/work_package_representer_rendering_spec.rb +++ b/modules/backlogs/spec/lib/api/v3/work_packages/work_package_representer_rendering_spec.rb @@ -67,11 +67,9 @@ RSpec.describe API::V3::WorkPackages::WorkPackageRepresenter, "rendering" do current_user { build_stubbed(:user) } before do - if project.present? - mock_permissions_for(current_user) do |mock| - permissions.each do |permission| - mock.allow_in_project(*permission, project:) - end + mock_permissions_for(current_user) do |mock| + permissions.each do |permission| + mock.allow_in_project(*permission, project:) if project end end end diff --git a/spec/support/mocked_permission_helper.rb b/spec/support/mocked_permission_helper.rb index 47bf733caf7..b1a13adc840 100644 --- a/spec/support/mocked_permission_helper.rb +++ b/spec/support/mocked_permission_helper.rb @@ -135,7 +135,7 @@ module MockedPermissionHelper next true if permission_mock.admin_allowed_to?(permissions) permission_names = permissions.map(&:name) - projects.all? do |project| + projects.any? && projects.all? do |project| permission_mock.permitted_entities[project].intersect?(permission_names) end end diff --git a/spec/support_spec/mocked_permission_helper_spec.rb b/spec/support_spec/mocked_permission_helper_spec.rb index cd8f2b5a871..12603e67f73 100644 --- a/spec/support_spec/mocked_permission_helper_spec.rb +++ b/spec/support_spec/mocked_permission_helper_spec.rb @@ -187,7 +187,7 @@ RSpec.describe MockedPermissionHelper do end it "allows the project permission when querying with controller and action hash" do - expect(user).to be_allowed_in_project({ controller: "work_packages", action: "index", project_id: project.id }, nil) + expect(user).to be_allowed_in_project({ controller: "work_packages", action: "index", project_id: project.id }, project) expect(user).to be_allowed_in_any_project({ controller: "work_packages", action: "index" }) end