diff --git a/.rubocop.yml b/.rubocop.yml index b379f0ee722fac6c0a4181a2a06130beed2c6655..fd0b626919a90f3fc04cd547604ba51e07a21070 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -202,7 +202,6 @@ GitlabSecurity/PublicSend: Gitlab/DuplicateSpecLocation: Exclude: - - ee/spec/controllers/groups_controller_spec.rb - ee/spec/controllers/projects/jobs_controller_spec.rb - ee/spec/helpers/auth_helper_spec.rb - ee/spec/lib/gitlab/gl_repository_spec.rb @@ -215,7 +214,6 @@ Gitlab/DuplicateSpecLocation: - ee/spec/services/merge_requests/refresh_service_spec.rb - ee/spec/services/merge_requests/update_service_spec.rb - ee/spec/services/system_hooks_service_spec.rb - - ee/spec/controllers/ee/groups_controller_spec.rb - ee/spec/controllers/ee/projects/jobs_controller_spec.rb - ee/spec/helpers/ee/auth_helper_spec.rb - ee/spec/lib/ee/gitlab/gl_repository_spec.rb diff --git a/ee/spec/controllers/ee/groups_controller_spec.rb b/ee/spec/controllers/ee/groups_controller_spec.rb index 3dbaa53ab718933578ffe3e3041fa2b9ddaf261b..a3a3df1ed8e78174986cf8773b0a902bc34a4ae4 100644 --- a/ee/spec/controllers/ee/groups_controller_spec.rb +++ b/ee/spec/controllers/ee/groups_controller_spec.rb @@ -234,4 +234,56 @@ end end end + + describe 'POST #create' do + context 'authorization' do + it 'allows an auditor with "can_create_group" set to true to create a group' do + sign_in(create(:user, :auditor, can_create_group: true)) + + expect do + post :create, params: { group: { name: 'new_group', path: "new_group" } } + end.to change { Group.count }.by(1) + + expect(response).to have_gitlab_http_status(:found) + end + end + end + + describe 'PUT #update' do + let(:group) { create(:group) } + + context 'when max_pages_size param is specified' do + let(:params) { { max_pages_size: 100 } } + + let(:request) do + post :update, params: { id: group.to_param, group: params } + end + + let(:user) { create(:user) } + + before do + stub_licensed_features(pages_size_limit: true) + group.add_owner(user) + sign_in(user) + end + + context 'when user is an admin' do + let(:user) { create(:admin) } + + it 'updates max_pages_size' do + request + + expect(group.reload.max_pages_size).to eq(100) + end + end + + context 'when user is not an admin' do + it 'does not update max_pages_size' do + request + + expect(group.reload.max_pages_size).to eq(nil) + end + end + end + end end diff --git a/ee/spec/controllers/groups_controller_spec.rb b/ee/spec/controllers/groups_controller_spec.rb deleted file mode 100644 index 5e95bb9a42b19fef24c3c07f46f331c5a64eaa45..0000000000000000000000000000000000000000 --- a/ee/spec/controllers/groups_controller_spec.rb +++ /dev/null @@ -1,61 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe GroupsController do - include ExternalAuthorizationServiceHelpers - - let(:user) { create(:user) } - - describe 'POST #create' do - context 'authorization' do - it 'allows an auditor with "can_create_group" set to true to create a group' do - sign_in(create(:user, :auditor, can_create_group: true)) - - expect do - post :create, params: { group: { name: 'new_group', path: "new_group" } } - end.to change { Group.count }.by(1) - - expect(response).to have_gitlab_http_status(:found) - end - end - end - - describe 'PUT #update' do - let(:group) { create(:group) } - - context 'when max_pages_size param is specified' do - let(:params) { { max_pages_size: 100 } } - - let(:request) do - post :update, params: { id: group.to_param, group: params } - end - - let(:user) { create(:user) } - - before do - stub_licensed_features(pages_size_limit: true) - group.add_owner(user) - sign_in(user) - end - - context 'when user is an admin' do - let(:user) { create(:admin) } - - it 'updates max_pages_size' do - request - - expect(group.reload.max_pages_size).to eq(100) - end - end - - context 'when user is not an admin' do - it 'does not update max_pages_size' do - request - - expect(group.reload.max_pages_size).to eq(nil) - end - end - end - end -end