diff options
Diffstat (limited to 'spec/frontend/boards/components/board_card_move_to_position_spec.js')
-rw-r--r-- | spec/frontend/boards/components/board_card_move_to_position_spec.js | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/spec/frontend/boards/components/board_card_move_to_position_spec.js b/spec/frontend/boards/components/board_card_move_to_position_spec.js index 8af772ba6d0..5f308be5580 100644 --- a/spec/frontend/boards/components/board_card_move_to_position_spec.js +++ b/spec/frontend/boards/components/board_card_move_to_position_spec.js @@ -51,9 +51,12 @@ describe('Board Card Move to position', () => { }; }; - const createComponent = (propsData) => { + const createComponent = (propsData, isApolloBoard = false) => { wrapper = shallowMount(BoardCardMoveToPosition, { store, + provide: { + isApolloBoard, + }, propsData: { item: mockIssue2, list: mockList, @@ -134,5 +137,39 @@ describe('Board Card Move to position', () => { }, ); }); + + describe('Apollo boards', () => { + beforeEach(() => { + createComponent({ index: itemIndex }, true); + trackingSpy = mockTracking(undefined, wrapper.element, jest.spyOn); + }); + + afterEach(() => { + unmockTracking(); + }); + + it.each` + dropdownIndex | dropdownItem | trackLabel | positionInList + ${0} | ${dropdownOptions[0]} | ${'move_to_start'} | ${0} + ${1} | ${dropdownOptions[1]} | ${'move_to_end'} | ${-1} + `( + 'on click of dropdown index $dropdownIndex with label $dropdownLabel emits moveToPosition event with tracking label $trackLabel', + async ({ dropdownIndex, dropdownItem, trackLabel, positionInList }) => { + await findMoveToPositionDropdown().vm.$emit('shown'); + + expect(findDropdownItemAtIndex(dropdownIndex).text()).toBe(dropdownItem.text); + + await findMoveToPositionDropdown().vm.$emit('action', dropdownItem); + + expect(trackingSpy).toHaveBeenCalledWith('boards:list', 'click_toggle_button', { + category: 'boards:list', + label: trackLabel, + property: 'type_card', + }); + + expect(wrapper.emitted('moveToPosition')).toEqual([[positionInList]]); + }, + ); + }); }); }); |