diff --git a/app/assets/javascripts/reports/accessibility_report/store/getters.js b/app/assets/javascripts/reports/accessibility_report/store/getters.js index 83e97a48e3bcd7fb9e6e4d6fab13018a080537c7..9aff427e6441f639cb50d1c9a4f847f175795878 100644 --- a/app/assets/javascripts/reports/accessibility_report/store/getters.js +++ b/app/assets/javascripts/reports/accessibility_report/store/getters.js @@ -37,23 +37,12 @@ export const summaryStatus = state => { export const shouldRenderIssuesList = state => Object.values(state.report).some(x => Array.isArray(x) && x.length > 0); -export const unresolvedIssues = state => [ - ...state.report.existing_errors, - ...state.report.existing_warnings, - ...state.report.existing_notes, -]; - -export const resolvedIssues = state => [ - ...state.report.resolved_errors, - ...state.report.resolved_warnings, - ...state.report.resolved_notes, -]; - -export const newIssues = state => [ - ...state.report.new_errors, - ...state.report.new_warnings, - ...state.report.new_notes, -]; +// We could just map state, but we're going to iterate in the future +// to add notes and warnings to these issue lists, so I'm going to +// keep these as getters +export const unresolvedIssues = state => state.report.existing_errors; +export const resolvedIssues = state => state.report.resolved_errors; +export const newIssues = state => state.report.new_errors; // prevent babel-plugin-rewire from generating an invalid default during karma tests export default () => {}; diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue index d0251c29fbaeb8efaa9a201f086708135b049609..265ff81f39f7c518952f41656356e5bca719e5a4 100644 --- a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue +++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue @@ -40,7 +40,6 @@ import TerraformPlan from './components/mr_widget_terraform_plan.vue'; import GroupedTestReportsApp from '../reports/components/grouped_test_reports_app.vue'; import { setFaviconOverlay } from '../lib/utils/common_utils'; import GroupedAccessibilityReportsApp from '../reports/accessibility_report/grouped_accessibility_reports_app.vue'; -import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; export default { el: '#js-vue-mr-widget', @@ -80,7 +79,6 @@ export default { TerraformPlan, GroupedAccessibilityReportsApp, }, - mixins: [glFeatureFlagsMixin()], props: { mrData: { type: Object, @@ -146,7 +144,7 @@ export default { }); }, shouldShowAccessibilityReport() { - return this.mr.accessibilityReportPath && this.glFeatures.accessibilityMergeRequestWidget; + return this.mr.accessibilityReportPath; }, }, watch: { diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 87b6929155929387b56c33f34ae3fe88687f2880..5613b5b9589a9eafb8d11ba87087af41d96ed681 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -32,7 +32,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo push_frontend_feature_flag(:code_navigation, @project) push_frontend_feature_flag(:widget_visibility_polling, @project, default_enabled: true) push_frontend_feature_flag(:merge_ref_head_comments, @project) - push_frontend_feature_flag(:accessibility_merge_request_widget, @project) push_frontend_feature_flag(:mr_commit_neighbor_nav, @project, default_enabled: true) end diff --git a/app/serializers/merge_request_poll_widget_entity.rb b/app/serializers/merge_request_poll_widget_entity.rb index 08255db5cbf5a21bb268f1a1aaf5a74e458aa66a..aad607f358a81bf82c1d3a044b1b259a2113b20e 100644 --- a/app/serializers/merge_request_poll_widget_entity.rb +++ b/app/serializers/merge_request_poll_widget_entity.rb @@ -71,6 +71,12 @@ class MergeRequestPollWidgetEntity < Grape::Entity end end + expose :accessibility_report_path do |merge_request| + if merge_request.has_accessibility_reports? + accessibility_reports_project_merge_request_path(merge_request.project, merge_request, format: :json) + end + end + expose :terraform_reports_path do |merge_request| if merge_request.has_terraform_reports? terraform_reports_project_merge_request_path(merge_request.project, merge_request, format: :json) diff --git a/spec/frontend/reports/accessibility_report/store/getters_spec.js b/spec/frontend/reports/accessibility_report/store/getters_spec.js index db8f48c067a43f02b1aa23e1bca42b3c34deb894..d74c71cfa09e90602c40de23e01ec79bcb891852 100644 --- a/spec/frontend/reports/accessibility_report/store/getters_spec.js +++ b/spec/frontend/reports/accessibility_report/store/getters_spec.js @@ -115,39 +115,33 @@ describe('Accessibility reports store getters', () => { }); describe('unresolvedIssues', () => { - it('returns concatenated array of unresolved errors, warnings, and notes', () => { + it('returns the array unresolved errors', () => { localState.report = { existing_errors: [1], - existing_warnings: [2], - existing_notes: [3], }; - const result = [1, 2, 3]; + const result = [1]; expect(getters.unresolvedIssues(localState)).toEqual(result); }); }); describe('resolvedIssues', () => { - it('returns concatenated array of resolved errors, warnings, and notes', () => { + it('returns array of resolved errors', () => { localState.report = { resolved_errors: [1], - resolved_warnings: [2], - resolved_notes: [3], }; - const result = [1, 2, 3]; + const result = [1]; expect(getters.resolvedIssues(localState)).toEqual(result); }); }); describe('newIssues', () => { - it('returns concatenated array of new errors, warnings, and notes', () => { + it('returns array of new errors', () => { localState.report = { new_errors: [1], - new_warnings: [2], - new_notes: [3], }; - const result = [1, 2, 3]; + const result = [1]; expect(getters.newIssues(localState)).toEqual(result); }); diff --git a/spec/serializers/merge_request_poll_widget_entity_spec.rb b/spec/serializers/merge_request_poll_widget_entity_spec.rb index ecc0589bfdf0f0474d539f6774c32ecba50a6838..4b3bfc99c88ca085867d64948c41c6826432f85c 100644 --- a/spec/serializers/merge_request_poll_widget_entity_spec.rb +++ b/spec/serializers/merge_request_poll_widget_entity_spec.rb @@ -93,6 +93,28 @@ end end + describe 'accessibility_report_path' do + context 'when merge request has accessibility reports' do + before do + allow(resource).to receive(:has_accessibility_reports?).and_return(true) + end + + it 'set the path to poll data' do + expect(subject[:accessibility_report_path]).to be_present + end + end + + context 'when merge request has no accessibility reports' do + before do + allow(resource).to receive(:has_accessibility_reports?).and_return(false) + end + + it 'set the path to poll data' do + expect(subject[:accessibility_report_path]).to be_nil + end + end + end + describe 'exposed_artifacts_path' do context 'when merge request has exposed artifacts' do before do