diff options
Diffstat (limited to 'spec/frontend/sidebar/sidebar_labels_spec.js')
-rw-r--r-- | spec/frontend/sidebar/sidebar_labels_spec.js | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/spec/frontend/sidebar/sidebar_labels_spec.js b/spec/frontend/sidebar/sidebar_labels_spec.js index 29333a344e1..7a687ffa761 100644 --- a/spec/frontend/sidebar/sidebar_labels_spec.js +++ b/spec/frontend/sidebar/sidebar_labels_spec.js @@ -1,6 +1,5 @@ -import { createLocalVue, shallowMount } from '@vue/test-utils'; +import { shallowMount } from '@vue/test-utils'; import AxiosMockAdapter from 'axios-mock-adapter'; -import Vuex from 'vuex'; import { mockLabels, mockRegularLabel, @@ -9,17 +8,11 @@ import axios from '~/lib/utils/axios_utils'; import SidebarLabels from '~/sidebar/components/labels/sidebar_labels.vue'; import { DropdownVariant } from '~/vue_shared/components/sidebar/labels_select_vue/constants'; import LabelsSelect from '~/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue'; -import labelsSelectModule from '~/vue_shared/components/sidebar/labels_select_vue/store'; - -const localVue = createLocalVue(); -localVue.use(Vuex); describe('sidebar labels', () => { let axiosMock; let wrapper; - const store = new Vuex.Store(labelsSelectModule()); - const defaultProps = { allowLabelCreate: true, allowLabelEdit: true, @@ -39,11 +32,9 @@ describe('sidebar labels', () => { const mountComponent = () => { wrapper = shallowMount(SidebarLabels, { - localVue, provide: { ...defaultProps, }, - store, }); }; @@ -81,7 +72,7 @@ describe('sidebar labels', () => { }); }); - describe('when labels are changed', () => { + describe('when labels are updated', () => { beforeEach(() => { mountComponent(); }); @@ -114,7 +105,27 @@ describe('sidebar labels', () => { const expected = { [defaultProps.issuableType]: { - label_ids: [27, 28, 40], + label_ids: [27, 28, 29, 40], + }, + }; + + expect(axiosMock.history.put[0].data).toEqual(JSON.stringify(expected)); + }); + }); + + describe('when label `x` is clicked', () => { + beforeEach(() => { + mountComponent(); + }); + + it('makes an API call to update labels', async () => { + findLabelsSelect().vm.$emit('onLabelRemove', 27); + + await axios.waitForAll(); + + const expected = { + [defaultProps.issuableType]: { + label_ids: [26, 28, 29], }, }; |