diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-01-14 12:04:28 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-01-14 12:04:28 +0100 |
commit | 0014f19327f565d09d248eeabf6e50ebb85dcb47 (patch) | |
tree | 27355d0db23d2507b37811e8f074c72d696ce5be /spec/models/note_spec.rb | |
parent | eee16ca9ccd34ff950b685f4db57518207055a36 (diff) | |
parent | 4d64a32c88dd5f87621d391c0f10f6acef094073 (diff) | |
download | gitlab-ce-0014f19327f565d09d248eeabf6e50ebb85dcb47.tar.gz |
Merge branch 'master' into ci/api-variables
Diffstat (limited to 'spec/models/note_spec.rb')
-rw-r--r-- | spec/models/note_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb index 151a29e974b..9182b42661d 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) do + create :note, + noteable: ext_issue, project: ext_proj, + note: "mentioned in issue #{private_issue.to_reference(ext_proj)}", + system: true + end + + 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 } |