diff options
Diffstat (limited to 'spec/frontend/issuable_create/components/issuable_form_spec.js')
-rw-r--r-- | spec/frontend/issuable_create/components/issuable_form_spec.js | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/spec/frontend/issuable_create/components/issuable_form_spec.js b/spec/frontend/issuable_create/components/issuable_form_spec.js deleted file mode 100644 index 30b116bc35c..00000000000 --- a/spec/frontend/issuable_create/components/issuable_form_spec.js +++ /dev/null @@ -1,122 +0,0 @@ -import { GlFormInput } from '@gitlab/ui'; -import { shallowMount } from '@vue/test-utils'; - -import IssuableForm from '~/issuable_create/components/issuable_form.vue'; -import MarkdownField from '~/vue_shared/components/markdown/field.vue'; -import LabelsSelect from '~/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue'; - -const createComponent = ({ - descriptionPreviewPath = '/gitlab-org/gitlab-shell/preview_markdown', - descriptionHelpPath = '/help/user/markdown', - labelsFetchPath = '/gitlab-org/gitlab-shell/-/labels.json', - labelsManagePath = '/gitlab-org/gitlab-shell/-/labels', -} = {}) => { - return shallowMount(IssuableForm, { - propsData: { - descriptionPreviewPath, - descriptionHelpPath, - labelsFetchPath, - labelsManagePath, - }, - slots: { - actions: ` - <button class="js-issuable-save">Submit issuable</button> - `, - }, - stubs: { - MarkdownField, - }, - }); -}; - -describe('IssuableForm', () => { - let wrapper; - - beforeEach(() => { - wrapper = createComponent(); - }); - - afterEach(() => { - wrapper.destroy(); - }); - - describe('methods', () => { - describe('handleUpdateSelectedLabels', () => { - it('sets provided `labels` param to prop `selectedLabels`', () => { - const labels = [ - { - id: 1, - color: '#BADA55', - text_color: '#ffffff', - title: 'Documentation', - }, - ]; - - wrapper.vm.handleUpdateSelectedLabels(labels); - - expect(wrapper.vm.selectedLabels).toBe(labels); - }); - }); - }); - - describe('template', () => { - it('renders issuable title input field', () => { - const titleFieldEl = wrapper.find('[data-testid="issuable-title"]'); - - expect(titleFieldEl.exists()).toBe(true); - expect(titleFieldEl.find('label').text()).toBe('Title'); - expect(titleFieldEl.find(GlFormInput).exists()).toBe(true); - expect(titleFieldEl.find(GlFormInput).attributes('placeholder')).toBe('Title'); - expect(titleFieldEl.find(GlFormInput).attributes('autofocus')).toBe('true'); - }); - - it('renders issuable description input field', () => { - const descriptionFieldEl = wrapper.find('[data-testid="issuable-description"]'); - - expect(descriptionFieldEl.exists()).toBe(true); - expect(descriptionFieldEl.find('label').text()).toBe('Description'); - expect(descriptionFieldEl.find(MarkdownField).exists()).toBe(true); - expect(descriptionFieldEl.find(MarkdownField).props()).toMatchObject({ - markdownPreviewPath: wrapper.vm.descriptionPreviewPath, - markdownDocsPath: wrapper.vm.descriptionHelpPath, - addSpacingClasses: false, - showSuggestPopover: true, - textareaValue: '', - }); - expect(descriptionFieldEl.find('textarea').exists()).toBe(true); - expect(descriptionFieldEl.find('textarea').attributes('placeholder')).toBe( - 'Write a comment or drag your files hereā¦', - ); - }); - - it('renders labels select field', () => { - const labelsSelectEl = wrapper.find('[data-testid="issuable-labels"]'); - - expect(labelsSelectEl.exists()).toBe(true); - expect(labelsSelectEl.find('label').text()).toBe('Labels'); - expect(labelsSelectEl.find(LabelsSelect).exists()).toBe(true); - expect(labelsSelectEl.find(LabelsSelect).props()).toMatchObject({ - allowLabelEdit: true, - allowLabelCreate: true, - allowMultiselect: true, - allowScopedLabels: true, - labelsFetchPath: wrapper.vm.labelsFetchPath, - labelsManagePath: wrapper.vm.labelsManagePath, - selectedLabels: wrapper.vm.selectedLabels, - labelsListTitle: 'Select label', - footerCreateLabelTitle: 'Create project label', - footerManageLabelTitle: 'Manage project labels', - variant: 'embedded', - }); - }); - - it('renders contents for slot "actions"', () => { - const buttonEl = wrapper - .find('[data-testid="issuable-create-actions"]') - .find('button.js-issuable-save'); - - expect(buttonEl.exists()).toBe(true); - expect(buttonEl.text()).toBe('Submit issuable'); - }); - }); -}); |