diff options
Diffstat (limited to 'spec/frontend/work_items/components/work_item_links/work_item_actions_split_button_spec.js')
-rw-r--r-- | spec/frontend/work_items/components/work_item_links/work_item_actions_split_button_spec.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/spec/frontend/work_items/components/work_item_links/work_item_actions_split_button_spec.js b/spec/frontend/work_items/components/work_item_links/work_item_actions_split_button_spec.js new file mode 100644 index 00000000000..630ffa1a699 --- /dev/null +++ b/spec/frontend/work_items/components/work_item_links/work_item_actions_split_button_spec.js @@ -0,0 +1,65 @@ +import { GlDisclosureDropdown, GlDisclosureDropdownGroup } from '@gitlab/ui'; +import { shallowMount } from '@vue/test-utils'; + +import WorkItemActionsSplitButton from '~/work_items/components/work_item_links/work_item_actions_split_button.vue'; +import { extendedWrapper } from 'helpers/vue_test_utils_helper'; + +const okrActions = [ + { + name: 'Objective', + items: [ + { + text: 'New objective', + }, + { + text: 'Existing objective', + }, + ], + }, + { + name: 'Key result', + items: [ + { + text: 'New key result', + }, + { + text: 'Existing key result', + }, + ], + }, +]; + +const createComponent = () => { + return extendedWrapper( + shallowMount(WorkItemActionsSplitButton, { + propsData: { + actions: okrActions, + }, + stubs: { + GlDisclosureDropdown, + }, + }), + ); +}; + +describe('RelatedItemsTree', () => { + let wrapper; + + beforeEach(() => { + wrapper = createComponent(); + }); + + describe('WorkItemActionsSplitButton', () => { + describe('template', () => { + it('renders objective and key results sections', () => { + expect(wrapper.findAllComponents(GlDisclosureDropdownGroup).at(0).props('group').name).toBe( + 'Objective', + ); + + expect(wrapper.findAllComponents(GlDisclosureDropdownGroup).at(1).props('group').name).toBe( + 'Key result', + ); + }); + }); + }); +}); |