diff options
Diffstat (limited to 'spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js')
-rw-r--r-- | spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js b/spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js index 6a8b9ef77a9..fa38ab8d44d 100644 --- a/spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js +++ b/spec/frontend/vue_shared/issuable/show/components/issuable_header_spec.js @@ -1,4 +1,4 @@ -import { GlBadge, GlIcon, GlAvatarLabeled } from '@gitlab/ui'; +import { GlButton, GlBadge, GlIcon, GlAvatarLabeled, GlAvatarLink } from '@gitlab/ui'; import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures'; import IssuableHeader from '~/vue_shared/issuable/show/components/issuable_header.vue'; @@ -13,7 +13,10 @@ const issuableHeaderProps = { describe('IssuableHeader', () => { let wrapper; + const findAvatar = () => wrapper.findByTestId('avatar'); const findTaskStatusEl = () => wrapper.findByTestId('task-status'); + const findButton = () => wrapper.findComponent(GlButton); + const findGlAvatarLink = () => wrapper.findComponent(GlAvatarLink); const createComponent = (props = {}, { stubs } = {}) => { wrapper = shallowMountExtended(IssuableHeader, { @@ -33,7 +36,6 @@ describe('IssuableHeader', () => { }; afterEach(() => { - wrapper.destroy(); resetHTMLFixture(); }); @@ -41,7 +43,7 @@ describe('IssuableHeader', () => { describe('authorId', () => { it('returns numeric ID from GraphQL ID of `author` prop', () => { createComponent(); - expect(wrapper.vm.authorId).toBe(1); + expect(findGlAvatarLink().attributes('data-user-id')).toBe('1'); }); }); }); @@ -53,12 +55,14 @@ describe('IssuableHeader', () => { it('dispatches `click` event on sidebar toggle button', () => { createComponent(); - wrapper.vm.toggleSidebarButtonEl = document.querySelector('.js-toggle-right-sidebar-button'); - jest.spyOn(wrapper.vm.toggleSidebarButtonEl, 'dispatchEvent').mockImplementation(jest.fn); + const toggleSidebarButtonEl = document.querySelector('.js-toggle-right-sidebar-button'); + const dispatchEvent = jest + .spyOn(toggleSidebarButtonEl, 'dispatchEvent') + .mockImplementation(jest.fn); - wrapper.vm.handleRightSidebarToggleClick(); + findButton().vm.$emit('click'); - expect(wrapper.vm.toggleSidebarButtonEl.dispatchEvent).toHaveBeenCalledWith( + expect(dispatchEvent).toHaveBeenCalledWith( expect.objectContaining({ type: 'click', }), @@ -78,7 +82,7 @@ describe('IssuableHeader', () => { expect(statusBoxEl.text()).toContain('Open'); }); - it('renders blocked icon when issuable is blocked', async () => { + it('renders blocked icon when issuable is blocked', () => { createComponent({ blocked: true, }); @@ -89,7 +93,7 @@ describe('IssuableHeader', () => { expect(blockedEl.findComponent(GlIcon).props('name')).toBe('lock'); }); - it('renders confidential icon when issuable is confidential', async () => { + it('renders confidential icon when issuable is confidential', () => { createComponent({ confidential: true, }); @@ -110,7 +114,7 @@ describe('IssuableHeader', () => { href: webUrl, target: '_blank', }; - const avatarEl = wrapper.findByTestId('avatar'); + const avatarEl = findAvatar(); expect(avatarEl.exists()).toBe(true); expect(avatarEl.attributes()).toMatchObject(avatarElAttrs); expect(avatarEl.findComponent(GlAvatarLabeled).attributes()).toMatchObject({ |