diff --git a/app/graphql/types/ci/ci_cd_setting_type.rb b/app/graphql/types/ci/ci_cd_setting_type.rb index 3f1c8758eb8fb0eeb28837c954bc0068df91a78d..6464e43169acdf0eaecce4cb48e3211fad0da8f1 100644 --- a/app/graphql/types/ci/ci_cd_setting_type.rb +++ b/app/graphql/types/ci/ci_cd_setting_type.rb @@ -35,8 +35,7 @@ class CiCdSettingType < BaseObject field :pipeline_variables_minimum_override_role, GraphQL::Types::String, null: false, - description: 'Minimum role required to set variables when creating a pipeline or running a job.', - authorize: :admin_project + description: 'Minimum role required to set variables when creating a pipeline or running a job.' field :project, Types::ProjectType, null: true, diff --git a/ee/spec/requests/custom_roles/admin_cicd_variables/projects_request_spec.rb b/ee/spec/requests/custom_roles/admin_cicd_variables/projects_request_spec.rb index 32c11259bb02938362693fe3b9b8fbd03cd42d3d..18e507a0af71f6acd826ddc7aa0b84ebb3f9a52d 100644 --- a/ee/spec/requests/custom_roles/admin_cicd_variables/projects_request_spec.rb +++ b/ee/spec/requests/custom_roles/admin_cicd_variables/projects_request_spec.rb @@ -26,6 +26,35 @@ end end + describe 'Querying Ci/CD settings pipelineVariablesMinimumOverrideRole' do + let_it_be(:role) do + create(:member_role, + :developer, + :manage_merge_request_settings, + namespace: group, + admin_cicd_variables: true) + end + + let_it_be(:member) { create(:group_member, :developer, member_role: role, user: user, source: project.group) } + let(:query) do + %( + query { + project(fullPath: "#{project.full_path}") { + ciCdSettings { + pipelineVariablesMinimumOverrideRole + } + } + } + ) + end + + it 'returns minimum override role' do + result = GitlabSchema.execute(query, context: { current_user: user }).as_json + settings = result.dig('data', 'project', 'ciCdSettings') + expect(settings).to eq('pipelineVariablesMinimumOverrideRole' => 'no_one_allowed') + end + end + describe 'Querying CI Variables and environment scopes' do include GraphqlHelpers