diff options
Diffstat (limited to 'spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js')
-rw-r--r-- | spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js b/spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js index 0470249d7ce..721436e217e 100644 --- a/spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js +++ b/spec/frontend/work_items/components/work_item_links/work_item_link_child_spec.js @@ -7,7 +7,7 @@ import waitForPromises from 'helpers/wait_for_promises'; import WorkItemLinkChildMetadata from 'ee_else_ce/work_items/components/work_item_links/work_item_link_child_metadata.vue'; -import { createAlert } from '~/flash'; +import { createAlert } from '~/alert'; import RichTimestampTooltip from '~/vue_shared/components/rich_timestamp_tooltip.vue'; import getWorkItemTreeQuery from '~/work_items/graphql/work_item_tree.query.graphql'; @@ -31,7 +31,7 @@ import { workItemObjectiveMetadataWidgets, } from '../../mock_data'; -jest.mock('~/flash'); +jest.mock('~/alert'); describe('WorkItemLinkChild', () => { const WORK_ITEM_ID = 'gid://gitlab/WorkItem/2'; @@ -67,10 +67,6 @@ describe('WorkItemLinkChild', () => { createAlert.mockClear(); }); - afterEach(() => { - wrapper.destroy(); - }); - it.each` status | childItem | statusIconName | statusIconColorClass | rawTimestamp | tooltipContents ${'open'} | ${workItemTask} | ${'issue-open-m'} | ${'gl-text-green-500'} | ${workItemTask.createdAt} | ${'Created'} @@ -109,10 +105,30 @@ describe('WorkItemLinkChild', () => { }); it('renders item title', () => { - expect(titleEl.attributes('href')).toBe('/gitlab-org/gitlab-test/-/work_items/4'); + expect(titleEl.attributes('href')).toBe( + '/gitlab-org/gitlab-test/-/work_items/4?iid_path=true', + ); expect(titleEl.text()).toBe(workItemTask.title); }); + describe('renders item title correctly for relative instance', () => { + beforeEach(() => { + window.gon = { relative_url_root: '/test' }; + createComponent(); + titleEl = wrapper.findByTestId('item-title'); + }); + + it('renders item title with correct href', () => { + expect(titleEl.attributes('href')).toBe( + '/test/gitlab-org/gitlab-test/-/work_items/4?iid_path=true', + ); + }); + + it('renders item title with correct text', () => { + expect(titleEl.text()).toBe(workItemTask.title); + }); + }); + it.each` action | event | emittedEvent ${'doing mouseover on'} | ${'mouseover'} | ${'mouseover'} @@ -149,6 +165,8 @@ describe('WorkItemLinkChild', () => { expect(metadataEl.props()).toMatchObject({ metadataWidgets: workItemObjectiveMetadataWidgets, }); + + expect(wrapper.find('[data-testid="links-child"]').classes()).toContain('gl-py-3'); }); it('does not render item metadata component when item has no metadata present', () => { @@ -158,6 +176,8 @@ describe('WorkItemLinkChild', () => { }); expect(findMetadataComponent().exists()).toBe(false); + + expect(wrapper.find('[data-testid="links-child"]').classes()).toContain('gl-py-0'); }); }); |