Skip to content
Snippets Groups Projects
Commit 18f25bc9 authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Update reference unfolder according to recent ability changes

Commit 43d8bdb4 introduced additional
checks for permissions to read issue in references extractor.
parent 0115ad66
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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
 
Loading
Loading
Loading
Loading
@@ -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
 
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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) }
Loading
Loading
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment