diff options
author | Stan Hu <stanhu@gmail.com> | 2018-07-09 00:49:09 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-07-09 00:49:09 +0300 |
commit | ed166b791ff5de4216799c2b77dc8cf70dc31df3 (patch) | |
tree | 748bad01c6d05f97138018c8c1d9e2e9fe1a3b4d /spec/controllers/import | |
parent | 4c5085f68de7d9e8f51bdf14b3493207eb12c6b2 (diff) |
Add spec when project can't be saved
Diffstat (limited to 'spec/controllers/import')
-rw-r--r-- | spec/controllers/import/bitbucket_server_controller_spec.rb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/spec/controllers/import/bitbucket_server_controller_spec.rb b/spec/controllers/import/bitbucket_server_controller_spec.rb index 6a013435adc..2ff7939d36f 100644 --- a/spec/controllers/import/bitbucket_server_controller_spec.rb +++ b/spec/controllers/import/bitbucket_server_controller_spec.rb @@ -28,19 +28,19 @@ describe Import::BitbucketServerController do describe 'POST create' do before do + allow(controller).to receive(:bitbucket_client).and_return(client) + repo = double(name: 'my-project') + allow(client).to receive(:repo).with(project_key, repo_slug).and_return(repo) assign_session_tokens end set(:project) { create(:project) } + let(:client) { instance_double(BitbucketServer::Client) } it 'returns the new project' do - client = instance_double(BitbucketServer::Client) allow(Gitlab::BitbucketServerImport::ProjectCreator) .to receive(:new).with(project_key, repo_slug, anything, 'my-project', user.namespace, user, anything) .and_return(double(execute: project)) - repo = double(name: 'my-project') - expect(client).to receive(:repo).with(project_key, repo_slug).and_return(repo) - expect(controller).to receive(:bitbucket_client).and_return(client) post :create, project: project_key, repository: repo_slug, format: :json @@ -60,9 +60,7 @@ describe Import::BitbucketServerController do end it 'returns an error when the project cannot be found' do - client = instance_double(BitbucketServer::Client) - expect(client).to receive(:repo).with(project_key, repo_slug).and_return(nil) - expect(controller).to receive(:bitbucket_client).and_return(client) + allow(client).to receive(:repo).with(project_key, repo_slug).and_return(nil) post :create, project: project_key, repository: repo_slug, format: :json @@ -70,6 +68,13 @@ describe Import::BitbucketServerController do end it 'returns an error when the project cannot be saved' do + allow(Gitlab::BitbucketServerImport::ProjectCreator) + .to receive(:new).with(project_key, repo_slug, anything, 'my-project', user.namespace, user, anything) + .and_return(double(execute: build(:project))) + + post :create, project: project_key, repository: repo_slug, format: :json + + expect(response).to have_gitlab_http_status(422) end it "returns an error when the server can't be contacted" do |