summaryrefslogtreecommitdiff
path: root/spec/controllers/admin
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-06-16 18:25:58 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-06-16 18:25:58 +0000
commita5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch)
treefb69158581673816a8cd895f9d352dcb3c678b1e /spec/controllers/admin
parentd16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff)
downloadgitlab-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.rb21
-rw-r--r--spec/controllers/admin/integrations_controller_spec.rb4
-rw-r--r--spec/controllers/admin/runners_controller_spec.rb8
-rw-r--r--spec/controllers/admin/services_controller_spec.rb2
-rw-r--r--spec/controllers/admin/users_controller_spec.rb89
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