summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-01-13 18:18:59 +0100
committerRémy Coutable <remy@rymai.me>2016-01-13 18:18:59 +0100
commit1f0b8c32e75b446848cead98c550e750801be534 (patch)
tree3e9da5e96549916eb993dcae0cb28ac56956542f
parent5e452d3794ffa4996611ecf53c6098f4a3913d4a (diff)
downloadgitlab-ce-1f0b8c32e75b446848cead98c550e750801be534.tar.gz
Add spec for Note#cross_reference_not_visible_for?
-rw-r--r--spec/models/note_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb
index 151a29e974b..65e6a7df3b4 100644
--- a/spec/models/note_spec.rb
+++ b/spec/models/note_spec.rb
@@ -178,6 +178,30 @@ describe Note, models: true do
end
end
+ describe "cross_reference_not_visible_for?" do
+ let(:private_user) { create(:user) }
+ let(:private_project) { create(:project, namespace: private_user.namespace).tap { |p| p.team << [private_user, :master] } }
+ let(:private_issue) { create(:issue, project: private_project) }
+
+ let(:ext_proj) { create(:project, :public) }
+ let(:ext_issue) { create(:issue, project: ext_proj) }
+
+ let(:note) {
+ create :note,
+ noteable: ext_issue, project: ext_proj,
+ note: "mentioned in issue #{private_issue.to_reference(ext_proj)}",
+ system: true
+ }
+
+ it "returns true" do
+ expect(note.cross_reference_not_visible_for?(ext_issue.author)).to be_truthy
+ end
+
+ it "returns false" do
+ expect(note.cross_reference_not_visible_for?(private_user)).to be_falsy
+ end
+ end
+
describe "set_award!" do
let(:issue) { create :issue }