Commit c2e9435d authored by Robert Speicher's avatar Robert Speicher Committed by Lin Jen-Shin

Merge branch 'sh-fix-base-parser' into 'master'

Fix regression in rendering Markdown references that do not exist

Closes #30972

See merge request !10716
parent 06afe8b4
......@@ -136,7 +136,8 @@ module Banzai
nodes.each_with_object({}) do |node, hash|
if node.has_attribute?(attribute)
hash[node] = objects_by_id[node.attr(attribute).to_i]
obj = objects_by_id[node.attr(attribute).to_i]
hash[node] = obj if obj
end
end
end
......
......@@ -114,8 +114,27 @@ describe Banzai::ReferenceParser::BaseParser, lib: true do
expect(hash).to eq({ link => user })
end
it 'returns an empty Hash when the list of nodes is empty' do
expect(subject.grouped_objects_for_nodes([], User, 'data-user')).to eq({})
it 'returns an empty Hash when entry does not exist in the database' do
link = double(:link)
expect(link).to receive(:has_attribute?).
with('data-user').
and_return(true)
expect(link).to receive(:attr).
with('data-user').
and_return('1')
nodes = [link]
bad_id = user.id + 100
expect(subject).to receive(:unique_attribute_values).
with(nodes, 'data-user').
and_return([bad_id.to_s])
hash = subject.grouped_objects_for_nodes(nodes, User, 'data-user')
expect(hash).to eq({})
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment