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:
parent
0115ad66d2
commit
18f25bc942
4 changed files with 15 additions and 5 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) }
|
||||
|
|
|
@ -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])
|
||||
|
|
Loading…
Reference in a new issue