diff options
Diffstat (limited to 'spec/requests/import')
-rw-r--r-- | spec/requests/import/github_controller_spec.rb | 42 | ||||
-rw-r--r-- | spec/requests/import/github_groups_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/requests/import/gitlab_projects_controller_spec.rb | 14 |
3 files changed, 58 insertions, 0 deletions
diff --git a/spec/requests/import/github_controller_spec.rb b/spec/requests/import/github_controller_spec.rb new file mode 100644 index 00000000000..8d57c2895de --- /dev/null +++ b/spec/requests/import/github_controller_spec.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Import::GithubController, feature_category: :importers do + describe 'GET details' do + subject { get details_import_github_path } + + let_it_be(:user) { create(:user) } + + before do + stub_application_setting(import_sources: ['github']) + + login_as(user) + end + + context 'with feature enabled' do + before do + stub_feature_flags(import_details_page: true) + + subject + end + + it 'responds with a 200 and shows the template' do + expect(response).to have_gitlab_http_status(:ok) + expect(response).to render_template(:details) + end + end + + context 'with feature disabled' do + before do + stub_feature_flags(import_details_page: false) + + subject + end + + it 'responds with a 404' do + expect(response).to have_gitlab_http_status(:not_found) + end + end + end +end diff --git a/spec/requests/import/github_groups_controller_spec.rb b/spec/requests/import/github_groups_controller_spec.rb index 6393dd35a98..dada84758f3 100644 --- a/spec/requests/import/github_groups_controller_spec.rb +++ b/spec/requests/import/github_groups_controller_spec.rb @@ -11,6 +11,8 @@ RSpec.describe Import::GithubGroupsController, feature_category: :importers do let(:params) { {} } before do + stub_application_setting(import_sources: ['github']) + login_as(user) end diff --git a/spec/requests/import/gitlab_projects_controller_spec.rb b/spec/requests/import/gitlab_projects_controller_spec.rb index b2c2d306e53..732851c7828 100644 --- a/spec/requests/import/gitlab_projects_controller_spec.rb +++ b/spec/requests/import/gitlab_projects_controller_spec.rb @@ -12,6 +12,8 @@ RSpec.describe Import::GitlabProjectsController, feature_category: :importers do before do login_as(user) + + stub_application_setting(import_sources: ['gitlab_project']) end describe 'POST create' do @@ -90,4 +92,16 @@ RSpec.describe Import::GitlabProjectsController, feature_category: :importers do subject { post authorize_import_gitlab_project_path, headers: workhorse_headers } end end + + describe 'GET new' do + context 'when the user is not allowed to import projects' do + let!(:group) { create(:group).tap { |group| group.add_developer(user) } } + + it 'returns 404' do + get new_import_gitlab_project_path, params: { namespace_id: group.id } + + expect(response).to have_gitlab_http_status(:not_found) + end + end + end end |