diff options
Diffstat (limited to 'spec/lib/banzai/filter/reference_redactor_filter_spec.rb')
-rw-r--r-- | spec/lib/banzai/filter/reference_redactor_filter_spec.rb | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/spec/lib/banzai/filter/reference_redactor_filter_spec.rb b/spec/lib/banzai/filter/reference_redactor_filter_spec.rb index ac1cabb34cc..d0336e9e059 100644 --- a/spec/lib/banzai/filter/reference_redactor_filter_spec.rb +++ b/spec/lib/banzai/filter/reference_redactor_filter_spec.rb @@ -143,15 +143,32 @@ RSpec.describe Banzai::Filter::ReferenceRedactorFilter do expect(doc.css('a').length).to eq 1 end - it 'allows references for admin' do - admin = create(:admin) - project = create(:project, :public) - issue = create(:issue, :confidential, project: project) - link = reference_link(project: project.id, issue: issue.id, reference_type: 'issue') + context 'for admin' do + context 'when admin mode is enabled', :enable_admin_mode do + it 'allows references' do + admin = create(:admin) + project = create(:project, :public) + issue = create(:issue, :confidential, project: project) + link = reference_link(project: project.id, issue: issue.id, reference_type: 'issue') + + doc = filter(link, current_user: admin) + + expect(doc.css('a').length).to eq 1 + end + end - doc = filter(link, current_user: admin) + context 'when admin mode is disabled' do + it 'removes references' do + admin = create(:admin) + project = create(:project, :public) + issue = create(:issue, :confidential, project: project) + link = reference_link(project: project.id, issue: issue.id, reference_type: 'issue') - expect(doc.css('a').length).to eq 1 + doc = filter(link, current_user: admin) + + expect(doc.css('a').length).to eq 0 + end + end end context "when a confidential issue is moved from a public project to a private one" do |