Update reference unfolder according to recent ability changes

Commit 43d8bdb4f0 introduced additional
checks for permissions to read issue in references extractor.
This commit is contained in:
Grzegorz Bizon 2016-03-19 18:58:52 +01:00
parent 0115ad66d2
commit 18f25bc942
4 changed files with 15 additions and 5 deletions

View File

@ -77,7 +77,8 @@ module Issues
end
def unfold_references(content)
unfolder = Gitlab::Gfm::ReferenceUnfolder.new(content, @old_project)
unfolder = Gitlab::Gfm::ReferenceUnfolder.new(content, @old_project,
@current_user)
unfolder.unfold(@new_project)
end

View File

@ -29,9 +29,10 @@ module Gitlab
# http://gitlab.com/some/link/#1234, and code `puts #1234`'
#
class ReferenceUnfolder
def initialize(text, project)
def initialize(text, project, user)
@text = text
@project = project
@user = user
@original = markdown(text)
end
@ -61,7 +62,7 @@ module Gitlab
def referables
return @referables if @referables
extractor = Gitlab::ReferenceExtractor.new(@project)
extractor = Gitlab::ReferenceExtractor.new(@project, @user)
extractor.analyze(@text)
@referables = extractor.all
end

View File

@ -4,9 +4,14 @@ describe Gitlab::Gfm::ReferenceUnfolder do
let(:text) { 'some text' }
let(:old_project) { create(:project) }
let(:new_project) { create(:project) }
let(:user) { create(:user) }
before { old_project.team << [user, :guest] }
describe '#unfold' do
subject { described_class.new(text, old_project).unfold(new_project) }
subject do
described_class.new(text, old_project, user).unfold(new_project)
end
context 'multiple issues and merge requests referenced' do
let!(:issue_first) { create(:issue, project: old_project) }

View File

@ -130,7 +130,10 @@ describe Gitlab::ReferenceExtractor, lib: true do
let(:label) { create(:label, project: project) }
let(:text) { "Ref. #{issue.to_reference} and #{label.to_reference}" }
before { subject.analyze(text) }
before do
project.team << [project.creator, :developer]
subject.analyze(text)
end
it 'returns all referables' do
expect(subject.all).to match_array([issue, label])