diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
commit | 7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch) | |
tree | 5bdc2229f5198d516781f8d24eace62fc7e589e9 /spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js | |
parent | 185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff) |
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js')
-rw-r--r-- | spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js index 9eddd091ad0..e4bee6b8652 100644 --- a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js @@ -1,11 +1,15 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import WidgetContentRow from '~/vue_merge_request_widget/components/widget/widget_content_row.vue'; import StatusIcon from '~/vue_merge_request_widget/components/widget/status_icon.vue'; +import ActionButtons from '~/vue_merge_request_widget/components/action_buttons.vue'; +import HelpPopover from '~/vue_shared/components/help_popover.vue'; describe('~/vue_merge_request_widget/components/widget/widget_content_row.vue', () => { let wrapper; const findStatusIcon = () => wrapper.findComponent(StatusIcon); + const findHelpPopover = () => wrapper.findComponent(HelpPopover); + const findActionButtons = () => wrapper.findComponent(ActionButtons); const createComponent = ({ propsData, slots } = {}) => { wrapper = shallowMountExtended(WidgetContentRow, { @@ -61,5 +65,38 @@ describe('~/vue_merge_request_widget/components/widget/widget_content_row.vue', createComponent({ propsData: { header: '<b role="header">this is a header</b>' } }); expect(wrapper.findByText('<b role="header">this is a header</b>').exists()).toBe(true); }); + + it('renders a help popover', () => { + createComponent({ + propsData: { + helpPopover: { + options: { title: 'Help popover title' }, + content: { text: 'Help popover content', learnMorePath: '/path/to/docs' }, + }, + }, + }); + + expect(findHelpPopover().props('options')).toEqual({ title: 'Help popover title' }); + expect(wrapper.findByText('Help popover content').exists()).toBe(true); + expect(wrapper.findByText('Learn more').attributes('href')).toBe('/path/to/docs'); + expect(wrapper.findByText('Learn more').attributes('target')).toBe('_blank'); + }); + + it('does not render help popover when it is not provided', () => { + createComponent({}); + expect(findHelpPopover().exists()).toBe(false); + }); + + it('does not display action buttons if actionButtons is not provided', () => { + createComponent({}); + expect(findActionButtons().exists()).toBe(false); + }); + + it('does display action buttons if actionButtons is provided', () => { + const actionButtons = [{ text: 'click-me', href: '#' }]; + + createComponent({ propsData: { actionButtons } }); + expect(findActionButtons().props('tertiaryButtons')).toEqual(actionButtons); + }); }); }); |