From 123d60836dd352abc1e03e28420eaacbe830ef8f Mon Sep 17 00:00:00 2001 From: Fernando Cardenas <fcardenas@gitlab.com> Date: Wed, 7 Feb 2024 10:55:21 -0600 Subject: [PATCH] Add tooltip with help docs to license scanning widget * Added tooltip to be consistent with other widgets Changelog: changed --- .../extensions/license_compliance/index.vue | 12 ++++++++++++ .../license_compliance/index_spec.js | 19 +++++++++++++++++++ locale/gitlab.pot | 6 ++++++ 3 files changed, 37 insertions(+) diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/extensions/license_compliance/index.vue b/ee/app/assets/javascripts/vue_merge_request_widget/extensions/license_compliance/index.vue index 56c6b7ec79395..70c574ec96555 100644 --- a/ee/app/assets/javascripts/vue_merge_request_widget/extensions/license_compliance/index.vue +++ b/ee/app/assets/javascripts/vue_merge_request_widget/extensions/license_compliance/index.vue @@ -5,6 +5,7 @@ import axios from '~/lib/utils/axios_utils'; import { EXTENSION_ICONS } from '~/vue_merge_request_widget/constants'; import { LICENSE_APPROVAL_STATUS } from 'ee/vue_shared/license_compliance/constants'; import MrWidget from '~/vue_merge_request_widget/components/widget/widget.vue'; +import { helpPagePath } from '~/helpers/help_page_helper'; import { parseDependencies } from './utils'; const APPROVAL_STATUS_TO_ICON = { @@ -249,6 +250,16 @@ export default { }); }, }, + widgetHelpPopover: { + options: { title: s__('ciReport|License scan results') }, + content: { + text: s__('ciReport|Detects known vulnerabilities in your software dependencies.'), + learnMorePath: helpPagePath('user/compliance/license_approval_policies', { + anchor: + 'criteria-comparing-licenses-detected-in-the-merge-request-branch-to-licenses-detected-in-the-default-branch', + }), + }, + }, }; </script> @@ -264,5 +275,6 @@ export default { :summary="summary" :is-collapsible="shouldCollapse" :content="licenseComplianceData.expanded" + :help-popover="$options.widgetHelpPopover" /> </template> diff --git a/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/index_spec.js b/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/index_spec.js index f9202a152f242..c899b1dee1e66 100644 --- a/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/index_spec.js +++ b/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/index_spec.js @@ -3,6 +3,7 @@ import { mountExtended } from 'helpers/vue_test_utils_helper'; import waitForPromises from 'helpers/wait_for_promises'; import axios from '~/lib/utils/axios_utils'; import ActionButtons from '~/vue_merge_request_widget/components/widget/action_buttons.vue'; +import Widget from '~/vue_merge_request_widget/components/widget/widget.vue'; import licenseComplianceExtension from 'ee/vue_merge_request_widget/extensions/license_compliance/index.vue'; import { HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_OK } from '~/lib/utils/http_status'; @@ -36,6 +37,7 @@ describe('License Compliance extension', () => { mock.onGet(endpoint).reply(statusCode, data, {}); }; + const findWidget = () => wrapper.findComponent(Widget); const findToggleCollapsedButton = () => wrapper.findByTestId('toggle-button'); const findAllExtensionListItems = () => wrapper.findAllByTestId('extension-list-item'); const findActionButtons = () => wrapper.findComponent(ActionButtons); @@ -112,6 +114,23 @@ describe('License Compliance extension', () => { expect(findToggleCollapsedButton().exists()).toBe(isExpandable); }, ); + + it('displays the help popover', () => { + mockApi(licenseComparisonPathCollapsed, HTTP_STATUS_OK, licenseComplianceNewLicenses); + + createComponent(); + + expect(findWidget().props('helpPopover')).toEqual({ + content: { + learnMorePath: + '/help/user/compliance/license_approval_policies#criteria-comparing-licenses-detected-in-the-merge-request-branch-to-licenses-detected-in-the-default-branch', + text: 'Detects known vulnerabilities in your software dependencies.', + }, + options: { + title: 'License scan results', + }, + }); + }); }); describe('actions buttons', () => { diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 1edc14fffe337..156b941f8d3f8 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -58166,6 +58166,9 @@ msgstr "" msgid "ciReport|Dependency scanning" msgstr "" +msgid "ciReport|Detects known vulnerabilities in your software dependencies." +msgstr "" + msgid "ciReport|Detects known vulnerabilities in your source code's dependencies." msgstr "" @@ -58220,6 +58223,9 @@ msgstr "" msgid "ciReport|License Compliance test metrics results are being parsed" msgstr "" +msgid "ciReport|License scan results" +msgstr "" + msgid "ciReport|Load Performance" msgstr "" -- GitLab