Commit 69fd28db authored by Robert Speicher's avatar Robert Speicher

Merge branch 'sy-explicit-embed-redaction' into 'master'

Split embed redactor filter into multiple shared examples

Closes #207544

See merge request gitlab-org/gitlab!25737
parents 9adaae0b d82c59e5
......@@ -19,12 +19,14 @@ describe Banzai::Filter::InlineMetricsRedactorFilter do
context 'with a metrics charts placeholder' do
let(:input) { %(<div class="js-render-metrics" data-dashboard-url="#{url}"></div>) }
it_behaves_like 'a supported metrics dashboard url'
it_behaves_like 'redacts the embed placeholder'
it_behaves_like 'retains the embed placeholder when applicable'
context 'for a grafana dashboard' do
let(:url) { urls.project_grafana_api_metrics_dashboard_url(project, embedded: true) }
it_behaves_like 'a supported metrics dashboard url'
it_behaves_like 'redacts the embed placeholder'
it_behaves_like 'retains the embed placeholder when applicable'
end
context 'the user has requisite permissions' do
......
# frozen_string_literal: true
RSpec.shared_examples 'a supported metrics dashboard url' do
RSpec.shared_examples 'redacts the embed placeholder' do
context 'no user is logged in' do
it 'redacts the placeholder' do
expect(doc.to_s).to be_empty
......@@ -14,7 +14,9 @@ RSpec.shared_examples 'a supported metrics dashboard url' do
expect(doc.to_s).to be_empty
end
end
end
RSpec.shared_examples 'retains the embed placeholder when applicable' do
context 'the user has requisite permissions' do
let(:user) { create(:user) }
let(:doc) { filter(input, current_user: user) }
......@@ -22,7 +24,7 @@ RSpec.shared_examples 'a supported metrics dashboard url' do
it 'leaves the placeholder' do
project.add_maintainer(user)
expect(doc.to_s).to eq(input)
expect(CGI.unescapeHTML(doc.to_s)).to eq(input)
end
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