diff options
Diffstat (limited to 'spec/frontend/boards/board_card_inner_spec.js')
-rw-r--r-- | spec/frontend/boards/board_card_inner_spec.js | 62 |
1 files changed, 10 insertions, 52 deletions
diff --git a/spec/frontend/boards/board_card_inner_spec.js b/spec/frontend/boards/board_card_inner_spec.js index e0446811f64..677978d31ca 100644 --- a/spec/frontend/boards/board_card_inner_spec.js +++ b/spec/frontend/boards/board_card_inner_spec.js @@ -1,15 +1,13 @@ import { GlLabel, GlLoadingIcon, GlTooltip } from '@gitlab/ui'; import { range } from 'lodash'; import Vuex from 'vuex'; -import setWindowLocation from 'helpers/set_window_location_helper'; +import { nextTick } from 'vue'; import { createMockDirective, getBinding } from 'helpers/vue_mock_directive'; import { mountExtended } from 'helpers/vue_test_utils_helper'; import BoardBlockedIcon from '~/boards/components/board_blocked_icon.vue'; import BoardCardInner from '~/boards/components/board_card_inner.vue'; import { issuableTypes } from '~/boards/constants'; -import eventHub from '~/boards/eventhub'; import defaultStore from '~/boards/stores'; -import { updateHistory } from '~/lib/utils/url_utility'; import { mockLabelList, mockIssue, mockIssueFullPath } from './mock_data'; jest.mock('~/lib/utils/url_utility'); @@ -53,6 +51,7 @@ describe('Board card component', () => { state: { ...defaultStore.state, issuableType: issuableTypes.issue, + isShowingLabels: true, }, getters: { isGroupBoard: () => true, @@ -261,7 +260,7 @@ describe('Board card component', () => { ], }); - await wrapper.vm.$nextTick(); + await nextTick(); expect(wrapper.find('.board-card-assignee img').attributes('src')).toBe( 'test_image_from_avatar_url?width=24', @@ -376,7 +375,7 @@ describe('Board card component', () => { }, }); - await wrapper.vm.$nextTick(); + await nextTick(); expect(wrapper.find('.board-card-assignee .avatar-counter').text().trim()).toEqual('99+'); }); @@ -399,58 +398,17 @@ describe('Board card component', () => { it('does not render label if label does not have an ID', async () => { wrapper.setProps({ item: { ...issue, labels: [label1, { title: 'closed' }] } }); - await wrapper.vm.$nextTick(); + await nextTick(); expect(wrapper.findAll(GlLabel).length).toBe(1); expect(wrapper.text()).not.toContain('closed'); }); - }); - - describe('filterByLabel method', () => { - beforeEach(() => { - wrapper.setProps({ - updateFilters: true, - }); - }); - - describe('when selected label is not in the filter', () => { - beforeEach(() => { - jest.spyOn(wrapper.vm, 'performSearch').mockImplementation(() => {}); - setWindowLocation('?'); - wrapper.vm.filterByLabel(label1); - }); - - it('calls updateHistory', () => { - expect(updateHistory).toHaveBeenCalledTimes(1); - }); - - it('dispatches performSearch vuex action', () => { - expect(wrapper.vm.performSearch).toHaveBeenCalledTimes(1); - }); - - it('emits updateTokens event', () => { - expect(eventHub.$emit).toHaveBeenCalledTimes(1); - expect(eventHub.$emit).toHaveBeenCalledWith('updateTokens'); - }); - }); - - describe('when selected label is already in the filter', () => { - beforeEach(() => { - jest.spyOn(wrapper.vm, 'performSearch').mockImplementation(() => {}); - setWindowLocation('?label_name[]=testing%20123'); - wrapper.vm.filterByLabel(label1); - }); - - it('does not call updateHistory', () => { - expect(updateHistory).not.toHaveBeenCalled(); - }); - it('does not dispatch performSearch vuex action', () => { - expect(wrapper.vm.performSearch).not.toHaveBeenCalled(); - }); - - it('does not emit updateTokens event', () => { - expect(eventHub.$emit).not.toHaveBeenCalled(); + describe('when label params arent set', () => { + it('passes the right target to GlLabel', () => { + expect(wrapper.findAll(GlLabel).at(0).props('target')).toEqual( + '?label_name[]=testing%20123', + ); }); }); }); |