diff options
Diffstat (limited to 'spec/controllers/admin/instance_review_controller_spec.rb')
-rw-r--r-- | spec/controllers/admin/instance_review_controller_spec.rb | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/spec/controllers/admin/instance_review_controller_spec.rb b/spec/controllers/admin/instance_review_controller_spec.rb new file mode 100644 index 00000000000..d15894eeb5d --- /dev/null +++ b/spec/controllers/admin/instance_review_controller_spec.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Admin::InstanceReviewController do + include UsageDataHelpers + + let(:admin) { create(:admin) } + let(:subscriptions_url) { ::Gitlab::SubscriptionPortal::SUBSCRIPTIONS_URL } + + before do + sign_in(admin) + end + + context 'GET #index' do + let!(:group) { create(:group) } + let!(:projects) { create_list(:project, 2, group: group) } + + subject { post :index } + + context 'with usage ping enabled' do + before do + stub_application_setting(usage_ping_enabled: true) + stub_usage_data_connections + ::Gitlab::UsageData.data(force_refresh: true) + subject + end + + it 'redirects to the customers app with correct params' do + params = { instance_review: { + email: admin.email, + last_name: admin.name, + version: ::Gitlab::VERSION, + users_count: 5, + projects_count: 2, + groups_count: 1, + issues_count: 0, + merge_requests_count: 0, + internal_pipelines_count: 0, + external_pipelines_count: 0, + labels_count: 0, + milestones_count: 0, + snippets_count: 0, + notes_count: 0 + } }.to_query + + expect(response).to redirect_to("#{subscriptions_url}/instance_review?#{params}") + end + end + + context 'with usage ping disabled' do + before do + stub_application_setting(usage_ping_enabled: false) + subject + end + + it 'redirects to the customers app with correct params' do + params = { instance_review: { + email: admin.email, + last_name: admin.name, + version: ::Gitlab::VERSION + } }.to_query + + expect(response).to redirect_to("#{subscriptions_url}/instance_review?#{params}") + end + end + end +end |