summaryrefslogtreecommitdiff
path: root/spec/frontend/work_items/components/work_item_links/work_item_links_menu_spec.js
blob: 287ec022d3f1d5e8334a56a39f38afb58213338a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { GlDropdown, GlDropdownItem } from '@gitlab/ui';

import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import WorkItemLinksMenu from '~/work_items/components/work_item_links/work_item_links_menu.vue';

describe('WorkItemLinksMenu', () => {
  let wrapper;

  const createComponent = () => {
    wrapper = shallowMountExtended(WorkItemLinksMenu);
  };

  const findDropdown = () => wrapper.find(GlDropdown);
  const findRemoveDropdownItem = () => wrapper.find(GlDropdownItem);

  beforeEach(async () => {
    createComponent();
  });

  afterEach(() => {
    wrapper.destroy();
  });

  it('renders dropdown and dropdown items', () => {
    expect(findDropdown().exists()).toBe(true);
    expect(findRemoveDropdownItem().exists()).toBe(true);
  });

  it('emits removeChild event on click Remove', () => {
    findRemoveDropdownItem().vm.$emit('click');

    expect(wrapper.emitted('removeChild')).toHaveLength(1);
  });
});