From 83904275831511f6b17b33064255b669604e0e74 Mon Sep 17 00:00:00 2001
From: Robert Speicher <rspeicher@gmail.com>
Date: Sun, 10 May 2015 23:51:49 -0400
Subject: [PATCH] Spec SystemNoteService.cross_reference_disallowed?

---
 spec/services/system_note_service_spec.rb | 28 +++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb
index 3e9528a83d0..6ddec8e67b1 100644
--- a/spec/services/system_note_service_spec.rb
+++ b/spec/services/system_note_service_spec.rb
@@ -274,8 +274,32 @@ describe SystemNoteService do
     end
   end
 
-  # TODO (rspeicher)
-  describe '.cross_reference_disallowed?'
+  describe '.cross_reference_disallowed?' do
+    context 'when mentioner is not a MergeRequest' do
+      it 'is falsey' do
+        mentioner = noteable.dup
+        expect(described_class.cross_reference_disallowed?(noteable, mentioner)).
+          to be_falsey
+      end
+    end
+
+    context 'when mentioner is a MergeRequest' do
+      let(:mentioner) { create(:merge_request, :simple, source_project: project) }
+      let(:noteable)  { project.commit }
+
+      it 'is truthy when noteable is in commits' do
+        expect(mentioner).to receive(:commits).and_return([noteable])
+        expect(described_class.cross_reference_disallowed?(noteable, mentioner)).
+          to be_truthy
+      end
+
+      it 'is falsey when noteable is not in commits' do
+        expect(mentioner).to receive(:commits).and_return([])
+        expect(described_class.cross_reference_disallowed?(noteable, mentioner)).
+          to be_falsey
+      end
+    end
+  end
 
   describe '.cross_reference_exists?' do
     let(:commit0) { project.commit }
-- 
GitLab