summaryrefslogtreecommitdiff
path: root/spec/controllers/import/bitbucket_server_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/import/bitbucket_server_controller_spec.rb')
-rw-r--r--spec/controllers/import/bitbucket_server_controller_spec.rb35
1 files changed, 31 insertions, 4 deletions
diff --git a/spec/controllers/import/bitbucket_server_controller_spec.rb b/spec/controllers/import/bitbucket_server_controller_spec.rb
index 3a347368884..af471b478fa 100644
--- a/spec/controllers/import/bitbucket_server_controller_spec.rb
+++ b/spec/controllers/import/bitbucket_server_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Import::BitbucketServerController do
+RSpec.describe Import::BitbucketServerController do
let(:user) { create(:user) }
let(:project_key) { 'test-project' }
let(:repo_slug) { 'some-repo' }
@@ -33,7 +33,7 @@ describe Import::BitbucketServerController do
let(:project_name) { "my-project_123" }
before do
- allow(controller).to receive(:bitbucket_client).and_return(client)
+ allow(controller).to receive(:client).and_return(client)
repo = double(name: project_name)
allow(client).to receive(:repo).with(project_key, repo_slug).and_return(repo)
assign_session_tokens
@@ -139,12 +139,39 @@ describe Import::BitbucketServerController do
let(:repos) { instance_double(BitbucketServer::Collection) }
before do
- allow(controller).to receive(:bitbucket_client).and_return(client)
+ allow(controller).to receive(:client).and_return(client)
@repo = double(slug: 'vim', project_key: 'asd', full_name: 'asd/vim', "valid?" => true, project_name: 'asd', browse_url: 'http://test', name: 'vim')
- @invalid_repo = double(slug: 'invalid', project_key: 'foobar', full_name: 'asd/foobar', "valid?" => false, browse_url: 'http://bad-repo')
+ @invalid_repo = double(slug: 'invalid', project_key: 'foobar', full_name: 'asd/foobar', "valid?" => false, browse_url: 'http://bad-repo', name: 'invalid')
@created_repo = double(slug: 'created', project_key: 'existing', full_name: 'group/created', "valid?" => true, browse_url: 'http://existing')
assign_session_tokens
+ stub_feature_flags(new_import_ui: false)
+ end
+
+ context 'with new_import_ui feature flag enabled' do
+ before do
+ stub_feature_flags(new_import_ui: true)
+ end
+
+ it 'returns invalid repos' do
+ allow(client).to receive(:repos).with(filter: nil, limit: 25, page_offset: 0).and_return([@repo, @invalid_repo])
+
+ get :status, format: :json
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(json_response['incompatible_repos'].length).to eq(1)
+ expect(json_response.dig("incompatible_repos", 0, "id")).to eq(@invalid_repo.full_name)
+ expect(json_response['provider_repos'].length).to eq(1)
+ expect(json_response.dig("provider_repos", 0, "id")).to eq(@repo.full_name)
+ end
+ end
+
+ it_behaves_like 'import controller with new_import_ui feature flag' do
+ let(:repo) { @repo }
+ let(:repo_id) { @repo.full_name }
+ let(:import_source) { @repo.browse_url }
+ let(:provider_name) { 'bitbucket_server' }
+ let(:client_repos_field) { :repos }
end
it 'assigns repository categories' do