From e31b982a13413151dd7317ee15aadcbde0f72edb Mon Sep 17 00:00:00 2001
From: Pawel Chojnacki <pawel@chojnacki.ws>
Date: Tue, 7 Feb 2017 13:56:50 +0100
Subject: Make deploy key not show in User's keys list

---
 spec/models/user_spec.rb | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

(limited to 'spec/models')

diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 7fd49c73b37..89cef7ab978 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -19,6 +19,7 @@ describe User, models: true do
     it { is_expected.to have_many(:project_members).dependent(:destroy) }
     it { is_expected.to have_many(:groups) }
     it { is_expected.to have_many(:keys).dependent(:destroy) }
+    it { is_expected.to have_many(:deploy_keys).dependent(:destroy) }
     it { is_expected.to have_many(:events).dependent(:destroy) }
     it { is_expected.to have_many(:recent_events).class_name('Event') }
     it { is_expected.to have_many(:issues).dependent(:destroy) }
@@ -303,6 +304,34 @@ describe User, models: true do
     end
   end
 
+  shared_context 'user keys' do
+    let(:user) { create(:user) }
+    let!(:key) { create(:key, user: user) }
+    let!(:deploy_key) { create(:deploy_key, user: user) }
+  end
+
+  describe '#keys' do
+    include_context 'user keys'
+
+    context 'with key and deploy key stored' do
+      it 'returns stored key, but not deploy_key' do
+        expect(user.keys).to include key
+        expect(user.keys).not_to include deploy_key
+      end
+    end
+  end
+
+  describe '#deploy_keys' do
+    include_context 'user keys'
+
+    context 'with key and deploy key stored' do
+      it 'returns stored deploy key, but not normal key' do
+        expect(user.deploy_keys).to include deploy_key
+        expect(user.deploy_keys).not_to include key
+      end
+    end
+  end
+
   describe '#confirm' do
     before do
       allow_any_instance_of(ApplicationSetting).to receive(:send_user_confirmation_email).and_return(true)
-- 
cgit v1.2.1