diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 18:25:58 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 18:25:58 +0000 |
commit | a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch) | |
tree | fb69158581673816a8cd895f9d352dcb3c678b1e /spec/controllers/admin | |
parent | d16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff) | |
download | gitlab-ce-a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4.tar.gz |
Add latest changes from gitlab-org/gitlab@14-0-stable-eev14.0.0-rc42
Diffstat (limited to 'spec/controllers/admin')
-rw-r--r-- | spec/controllers/admin/application_settings/appearances_controller_spec.rb (renamed from spec/controllers/admin/appearances_controller_spec.rb) | 2 | ||||
-rw-r--r-- | spec/controllers/admin/groups_controller_spec.rb | 21 | ||||
-rw-r--r-- | spec/controllers/admin/integrations_controller_spec.rb | 4 | ||||
-rw-r--r-- | spec/controllers/admin/runners_controller_spec.rb | 8 | ||||
-rw-r--r-- | spec/controllers/admin/services_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/controllers/admin/users_controller_spec.rb | 89 |
6 files changed, 115 insertions, 11 deletions
diff --git a/spec/controllers/admin/appearances_controller_spec.rb b/spec/controllers/admin/application_settings/appearances_controller_spec.rb index ee6a4a4c7af..cc914f3c9b8 100644 --- a/spec/controllers/admin/appearances_controller_spec.rb +++ b/spec/controllers/admin/application_settings/appearances_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Admin::AppearancesController do +RSpec.describe Admin::ApplicationSettings::AppearancesController do let(:admin) { create(:admin) } let(:header_message) { 'Header message' } let(:footer_message) { 'Footer' } diff --git a/spec/controllers/admin/groups_controller_spec.rb b/spec/controllers/admin/groups_controller_spec.rb index 8e31ef12adf..d9b7e00fd75 100644 --- a/spec/controllers/admin/groups_controller_spec.rb +++ b/spec/controllers/admin/groups_controller_spec.rb @@ -3,9 +3,9 @@ require 'spec_helper' RSpec.describe Admin::GroupsController do - let(:group) { create(:group) } - let(:project) { create(:project, namespace: group) } - let(:admin) { create(:admin) } + let_it_be(:group) { create(:group) } + let_it_be(:project) { create(:project, namespace: group) } + let_it_be(:admin) { create(:admin) } before do sign_in(admin) @@ -46,9 +46,9 @@ RSpec.describe Admin::GroupsController do end describe 'PUT #members_update' do - let(:group_user) { create(:user) } + let_it_be(:group_user) { create(:user) } - it 'adds user to members' do + it 'adds user to members', :aggregate_failures, :snowplow do put :members_update, params: { id: group, user_ids: group_user.id, @@ -58,9 +58,16 @@ RSpec.describe Admin::GroupsController do expect(controller).to set_flash.to 'Users were successfully added.' expect(response).to redirect_to(admin_group_path(group)) expect(group.users).to include group_user + expect_snowplow_event( + category: 'Members::CreateService', + action: 'create_member', + label: 'admin-group-page', + property: 'existing_user', + user: admin + ) end - it 'can add unlimited members' do + it 'can add unlimited members', :aggregate_failures do put :members_update, params: { id: group, user_ids: 1.upto(1000).to_a.join(','), @@ -71,7 +78,7 @@ RSpec.describe Admin::GroupsController do expect(response).to redirect_to(admin_group_path(group)) end - it 'adds no user to members' do + it 'adds no user to members', :aggregate_failures do put :members_update, params: { id: group, user_ids: '', diff --git a/spec/controllers/admin/integrations_controller_spec.rb b/spec/controllers/admin/integrations_controller_spec.rb index 971f2f121aa..79c39784173 100644 --- a/spec/controllers/admin/integrations_controller_spec.rb +++ b/spec/controllers/admin/integrations_controller_spec.rb @@ -93,8 +93,8 @@ RSpec.describe Admin::IntegrationsController do end it 'deletes the integration and all inheriting integrations' do - expect { subject }.to change { JiraService.for_instance.count }.by(-1) - .and change { JiraService.inherit_from_id(integration.id).count }.by(-1) + expect { subject }.to change { Integrations::Jira.for_instance.count }.by(-1) + .and change { Integrations::Jira.inherit_from_id(integration.id).count }.by(-1) end end end diff --git a/spec/controllers/admin/runners_controller_spec.rb b/spec/controllers/admin/runners_controller_spec.rb index 3984784f045..b5e7af2c012 100644 --- a/spec/controllers/admin/runners_controller_spec.rb +++ b/spec/controllers/admin/runners_controller_spec.rb @@ -12,6 +12,10 @@ RSpec.describe Admin::RunnersController do describe '#index' do render_views + before do + stub_feature_flags(runner_list_view_vue_ui: false) + end + it 'lists all runners' do get :index @@ -50,6 +54,10 @@ RSpec.describe Admin::RunnersController do describe '#show' do render_views + before do + stub_feature_flags(runner_detailed_view_vue_ui: false) + end + let_it_be(:project) { create(:project) } let_it_be(:project_two) { create(:project) } diff --git a/spec/controllers/admin/services_controller_spec.rb b/spec/controllers/admin/services_controller_spec.rb index d5ec9907b48..995282ca4bb 100644 --- a/spec/controllers/admin/services_controller_spec.rb +++ b/spec/controllers/admin/services_controller_spec.rb @@ -44,7 +44,7 @@ RSpec.describe Admin::ServicesController do describe "#update" do let(:project) { create(:project) } let!(:service_template) do - RedmineService.create!( + Integrations::Redmine.create!( project: nil, active: false, template: true, diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index 722c9c322cc..da57e5f8a92 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -651,6 +651,95 @@ RSpec.describe Admin::UsersController do expect { post :update, params: params }.to change { user.reload.note }.to(note) end end + + context 'when updating credit card validation for user account' do + let(:params) do + { + id: user.to_param, + user: user_params + } + end + + shared_examples 'no credit card validation param' do + let(:user_params) { { name: 'foo' } } + + it 'does not change credit card validation' do + expect { post :update, params: params }.not_to change(Users::CreditCardValidation, :count) + end + end + + context 'when user has a credit card validation' do + before do + user.create_credit_card_validation!(credit_card_validated_at: Time.zone.now) + end + + context 'with unchecked credit card validation' do + let(:user_params) do + { credit_card_validation_attributes: { credit_card_validated_at: '0' } } + end + + it 'deletes credit_card_validation' do + expect { post :update, params: params }.to change { Users::CreditCardValidation.count }.by(-1) + end + end + + context 'with checked credit card validation' do + let(:user_params) do + { credit_card_validation_attributes: { credit_card_validated_at: '1' } } + end + + it 'does not change credit_card_validated_at' do + expect { post :update, params: params }.not_to change { user.credit_card_validated_at } + end + end + + it_behaves_like 'no credit card validation param' + end + + context 'when user does not have a credit card validation' do + context 'with checked credit card validation' do + let(:user_params) do + { credit_card_validation_attributes: { credit_card_validated_at: '1' } } + end + + it 'creates new credit card validation' do + expect { post :update, params: params }.to change { Users::CreditCardValidation.count }.by 1 + end + end + + context 'with unchecked credit card validation' do + let(:user_params) do + { credit_card_validation_attributes: { credit_card_validated_at: '0' } } + end + + it 'does not blow up' do + expect { post :update, params: params }.not_to change(Users::CreditCardValidation, :count) + end + end + + it_behaves_like 'no credit card validation param' + end + + context 'invalid parameters' do + let(:user_params) do + { credit_card_validation_attributes: { credit_card_validated_at: Time.current.iso8601 } } + end + + it_behaves_like 'no credit card validation param' + end + + context 'with non permitted params' do + let(:user_params) do + { credit_card_validation_attributes: { _destroy: true } } + end + + before do + user.create_credit_card_validation!(credit_card_validated_at: Time.zone.now) + end + + it_behaves_like 'no credit card validation param' + end + end end describe "DELETE #remove_email" do |