Commit 6ad576e9 authored by Axel García's avatar Axel García

Refactor documentation links for devops_score

We're replacing the use of HAML's help_page_path
by JS helpPagePath.
parent f20a1bf7
<script> <script>
import { GlBadge, GlTable, GlLink, GlEmptyState } from '@gitlab/ui'; import { GlBadge, GlTable, GlLink, GlEmptyState } from '@gitlab/ui';
import { GlSingleStat } from '@gitlab/ui/dist/charts'; import { GlSingleStat } from '@gitlab/ui/dist/charts';
import { helpPagePath } from '~/helpers/help_page_helper';
import { sprintf, s__ } from '~/locale'; import { sprintf, s__ } from '~/locale';
import DevopsScoreCallout from './devops_score_callout.vue'; import DevopsScoreCallout from './devops_score_callout.vue';
...@@ -22,9 +23,6 @@ export default { ...@@ -22,9 +23,6 @@ export default {
devopsScoreMetrics: { devopsScoreMetrics: {
default: null, default: null,
}, },
devopsReportDocsPath: {
default: '',
},
noDataImagePath: { noDataImagePath: {
default: '', default: '',
}, },
...@@ -42,6 +40,7 @@ export default { ...@@ -42,6 +40,7 @@ export default {
return this.devopsScoreMetrics.averageScore === undefined; return this.devopsScoreMetrics.averageScore === undefined;
}, },
}, },
devopsReportDocsPath: helpPagePath('user/admin_area/analytics/dev_ops_report'),
tableHeaderFields: [ tableHeaderFields: [
{ {
key: 'title', key: 'title',
...@@ -76,7 +75,7 @@ export default { ...@@ -76,7 +75,7 @@ export default {
> >
<template #description> <template #description>
<p class="gl-mb-0">{{ __('It may be several days before you see feature usage data.') }}</p> <p class="gl-mb-0">{{ __('It may be several days before you see feature usage data.') }}</p>
<gl-link :href="devopsReportDocsPath">{{ <gl-link :href="$options.devopsReportDocsPath">{{
__('See example DevOps Score page in our documentation.') __('See example DevOps Score page in our documentation.')
}}</gl-link> }}</gl-link>
</template> </template>
......
...@@ -6,18 +6,12 @@ export default () => { ...@@ -6,18 +6,12 @@ export default () => {
if (!el) return false; if (!el) return false;
const { const { devopsScoreMetrics, noDataImagePath, devopsScoreIntroImagePath } = el.dataset;
devopsScoreMetrics,
devopsReportDocsPath,
noDataImagePath,
devopsScoreIntroImagePath,
} = el.dataset;
return new Vue({ return new Vue({
el, el,
provide: { provide: {
devopsScoreMetrics: JSON.parse(devopsScoreMetrics), devopsScoreMetrics: JSON.parse(devopsScoreMetrics),
devopsReportDocsPath,
noDataImagePath, noDataImagePath,
devopsScoreIntroImagePath, devopsScoreIntroImagePath,
}, },
......
...@@ -3,4 +3,4 @@ ...@@ -3,4 +3,4 @@
- if !service_ping_enabled - if !service_ping_enabled
#js-devops-service-ping-disabled{ data: { is_admin: current_user&.admin.to_s, empty_state_svg_path: image_path('illustrations/convdev/convdev_no_index.svg'), enable_service_ping_path: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), docs_link: help_page_path('development/service_ping/index.md') } } #js-devops-service-ping-disabled{ data: { is_admin: current_user&.admin.to_s, empty_state_svg_path: image_path('illustrations/convdev/convdev_no_index.svg'), enable_service_ping_path: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), docs_link: help_page_path('development/service_ping/index.md') } }
- else - else
#js-devops-score{ data: { devops_score_metrics: devops_score_metrics(@metric).to_json, devops_report_docs_path: help_page_path('user/admin_area/analytics/dev_ops_report'), no_data_image_path: image_path('dev_ops_report_no_data.svg'), devops_score_intro_image_path: image_path('dev_ops_report_overview.svg') } } #js-devops-score{ data: { devops_score_metrics: devops_score_metrics(@metric).to_json, no_data_image_path: image_path('dev_ops_report_no_data.svg'), devops_score_intro_image_path: image_path('dev_ops_report_overview.svg') } }
import { GlTable, GlBadge, GlEmptyState, GlLink } from '@gitlab/ui'; import { GlTable, GlBadge, GlEmptyState } from '@gitlab/ui';
import { GlSingleStat } from '@gitlab/ui/dist/charts'; import { GlSingleStat } from '@gitlab/ui/dist/charts';
import { mount } from '@vue/test-utils'; import { mount } from '@vue/test-utils';
import { extendedWrapper } from 'helpers/vue_test_utils_helper'; import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import DevopsScore from '~/analytics/devops_report/components/devops_score.vue'; import DevopsScore from '~/analytics/devops_report/components/devops_score.vue';
import DevopsScoreCallout from '~/analytics/devops_report/components/devops_score_callout.vue'; import DevopsScoreCallout from '~/analytics/devops_report/components/devops_score_callout.vue';
import { import { devopsScoreMetricsData, noDataImagePath, devopsScoreTableHeaders } from '../mock_data';
devopsScoreMetricsData,
devopsReportDocsPath,
noDataImagePath,
devopsScoreTableHeaders,
} from '../mock_data';
describe('DevopsScore', () => { describe('DevopsScore', () => {
let wrapper; let wrapper;
...@@ -19,7 +14,6 @@ describe('DevopsScore', () => { ...@@ -19,7 +14,6 @@ describe('DevopsScore', () => {
mount(DevopsScore, { mount(DevopsScore, {
provide: { provide: {
devopsScoreMetrics, devopsScoreMetrics,
devopsReportDocsPath,
noDataImagePath, noDataImagePath,
}, },
}), }),
...@@ -32,6 +26,8 @@ describe('DevopsScore', () => { ...@@ -32,6 +26,8 @@ describe('DevopsScore', () => {
const findUsageCol = () => findCol('usageCol'); const findUsageCol = () => findCol('usageCol');
const findDevopsScoreApp = () => wrapper.findByTestId('devops-score-app'); const findDevopsScoreApp = () => wrapper.findByTestId('devops-score-app');
const bannerExists = () => wrapper.findComponent(DevopsScoreCallout).exists(); const bannerExists = () => wrapper.findComponent(DevopsScoreCallout).exists();
const findDocsLink = () =>
wrapper.findByRole('link', { name: 'See example DevOps Score page in our documentation.' });
describe('with no data', () => { describe('with no data', () => {
beforeEach(() => { beforeEach(() => {
...@@ -54,7 +50,10 @@ describe('DevopsScore', () => { ...@@ -54,7 +50,10 @@ describe('DevopsScore', () => {
}); });
it('contains a link to the feature documentation', () => { it('contains a link to the feature documentation', () => {
expect(wrapper.findComponent(GlLink).exists()).toBe(true); expect(findDocsLink().exists()).toBe(true);
expect(findDocsLink().attributes('href')).toBe(
'/help/user/admin_area/analytics/dev_ops_report',
);
}); });
}); });
......
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