diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-02 18:08:56 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-02 18:08:56 +0300 |
commit | 6f998d352988f93f875db862353e814e95db1fe3 (patch) | |
tree | 3596c4b8cbc4d426c3aaf571ea5ba1a57ffe031e /spec/controllers | |
parent | 3eec6c2511af2b10cd25be64dcd84c4a35a7bcdb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/admin/users_controller_spec.rb | 13 | ||||
-rw-r--r-- | spec/controllers/projects_controller_spec.rb | 27 |
2 files changed, 32 insertions, 8 deletions
diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index 6dc5c38cb76..be21fffb296 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -359,13 +359,12 @@ RSpec.describe Admin::UsersController do end end - describe 'PUT ban/:id' do + describe 'PUT ban/:id', :aggregate_failures do context 'when ban_user_feature_flag is enabled' do it 'bans user' do put :ban, params: { id: user.username } - user.reload - expect(user.banned?).to be_truthy + expect(user.reload.banned?).to be_truthy expect(flash[:notice]).to eq _('Successfully banned') end @@ -390,21 +389,19 @@ RSpec.describe Admin::UsersController do it 'does not ban user, renders 404' do put :ban, params: { id: user.username } - user.reload - expect(user.banned?).to be_falsey + expect(user.reload.banned?).to be_falsey expect(response).to have_gitlab_http_status(:not_found) end end end - describe 'PUT unban/:id' do + describe 'PUT unban/:id', :aggregate_failures do let(:banned_user) { create(:user, :banned) } it 'unbans user' do put :unban, params: { id: banned_user.username } - banned_user.reload - expect(banned_user.banned?).to be_falsey + expect(banned_user.reload.banned?).to be_falsey expect(flash[:notice]).to eq _('Successfully unbanned') end end diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index f91172d6499..8afb80d9cc5 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -778,6 +778,33 @@ RSpec.describe ProjectsController do end end end + + context 'with project feature attributes' do + using RSpec::Parameterized::TableSyntax + + where(:feature, :initial_value, :update_to) do + :metrics_dashboard_access_level | ProjectFeature::PRIVATE | ProjectFeature::ENABLED + :container_registry_access_level | ProjectFeature::ENABLED | ProjectFeature::PRIVATE + end + + with_them do + it "updates the project_feature new" do + params = { + namespace_id: project.namespace, + id: project.path, + project: { + project_feature_attributes: { + "#{feature}": update_to + } + } + } + + expect { put :update, params: params }.to change { + project.reload.project_feature.public_send(feature) + }.from(initial_value).to(update_to) + end + end + end end describe '#transfer', :enable_admin_mode do |