diff --git a/ee/app/helpers/ee/merge_requests_helper.rb b/ee/app/helpers/ee/merge_requests_helper.rb index fbbbef61b4b46f4696c62c32e4b1646fc42c7b3b..0c40660f16b3cf05cba1a5884fee4cb102268c08 100644 --- a/ee/app/helpers/ee/merge_requests_helper.rb +++ b/ee/app/helpers/ee/merge_requests_helper.rb @@ -25,7 +25,10 @@ def diffs_tab_pane_data(project, merge_request, params) show_generate_test_file_button: ::Llm::GenerateTestFileService.new(current_user, merge_request).valid?.to_s } - data[:sast_report_available] = merge_request.has_sast_reports?.to_s if ::Feature.enabled?(:sast_reports_in_inline_diff, project) + if ::Feature.enabled?(:sast_reports_in_inline_diff, project) + data[:codequality_report_available] = merge_request.has_codequality_reports?.to_s if project.licensed_feature_available?(:inline_codequality) + data[:sast_report_available] = merge_request.has_sast_reports?.to_s + end super.merge(data) end diff --git a/ee/spec/helpers/merge_requests_helper_spec.rb b/ee/spec/helpers/merge_requests_helper_spec.rb index fa7f1d010c160e467ad327932031382f729d2dd6..88528af232b725a6c95e317463142a2524aa2e3b 100644 --- a/ee/spec/helpers/merge_requests_helper_spec.rb +++ b/ee/spec/helpers/merge_requests_helper_spec.rb @@ -55,6 +55,46 @@ end end + context 'for codequality_report_available' do + context 'when feature is licensed' do + before do + stub_licensed_features(inline_codequality: true) + + allow(merge_request).to receive(:has_codequality_reports?).and_return('true') + end + + it 'returns expected value' do + expect(subject[:codequality_report_available]).to eq('true') + end + + context 'when merge request does not have codequality reports' do + before do + allow(merge_request).to receive(:has_codequality_reports?).and_return('false') + end + + it 'returns expected value' do + expect(subject[:codequality_report_available]).to eq('false') + end + end + + context 'when feature flag is disabled' do + before do + stub_feature_flags(sast_reports_in_inline_diff: false) + end + + it 'does not return the variable' do + expect(subject).not_to have_key(:codequality_report_available) + end + end + end + + context 'when feature is not licensed' do + it 'does not return the variable' do + expect(subject).not_to have_key(:codequality_report_available) + end + end + end + context 'for sast_report_available' do before do allow(merge_request).to receive(:has_sast_reports?).and_return(true)