Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZ.J. van de Weg <zegerjan@gitlab.com>2016-08-08 21:32:10 +0300
committerZ.J. van de Weg <zegerjan@gitlab.com>2016-08-08 21:59:51 +0300
commit7e47a82899bdb10d2cdc61ce237a25bfa7f8a392 (patch)
tree0600640a8d146b0c6505ee5e6a466dfda3ce8da9 /spec/services/projects
parent81e839f41b38d165bd6af4899e12be2967d607e8 (diff)
Namespace EnableDeployKeyService under Projects
Diffstat (limited to 'spec/services/projects')
-rw-r--r--spec/services/projects/enable_deploy_key_service_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/services/projects/enable_deploy_key_service_spec.rb b/spec/services/projects/enable_deploy_key_service_spec.rb
new file mode 100644
index 00000000000..a37510cf159
--- /dev/null
+++ b/spec/services/projects/enable_deploy_key_service_spec.rb
@@ -0,0 +1,27 @@
+require 'spec_helper'
+
+describe Projects::EnableDeployKeyService, services: true do
+ let(:deploy_key) { create(:deploy_key, public: true) }
+ let(:project) { create(:empty_project) }
+ let(:user) { project.creator}
+ let!(:params) { { key_id: deploy_key.id } }
+
+ it 'enables the key' do
+ expect do
+ service.execute
+ end.to change { project.deploy_keys.count }.from(0).to(1)
+ end
+
+ context 'trying to add an unaccessable key' do
+ let(:another_key) { create(:another_key) }
+ let!(:params) { { key_id: another_key.id } }
+
+ it 'returns nil if the key cannot be added' do
+ expect(service.execute).to be nil
+ end
+ end
+
+ def service
+ Projects::EnableDeployKeyService.new(project, user, params)
+ end
+end