diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-30 21:11:38 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-30 21:11:38 +0300 |
commit | 4534d890f1e1d198804e9e2ff0da76e2308ebe23 (patch) | |
tree | 3538a50326d2fd52dd1545cc0a387e24a2877fe4 /spec/frontend/vue_shared/components | |
parent | d0713b807555cbd970ce712d5c0812daee371e2b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components')
3 files changed, 8 insertions, 157 deletions
diff --git a/spec/frontend/vue_shared/components/keep_alive_slots_spec.js b/spec/frontend/vue_shared/components/keep_alive_slots_spec.js deleted file mode 100644 index f69a883ee4d..00000000000 --- a/spec/frontend/vue_shared/components/keep_alive_slots_spec.js +++ /dev/null @@ -1,118 +0,0 @@ -import { nextTick } from 'vue'; -import { mountExtended } from 'helpers/vue_test_utils_helper'; -import KeepAliveSlots from '~/vue_shared/components/keep_alive_slots.vue'; - -const SLOT_1 = { - slotKey: 'slot-1', - title: 'Hello 1', -}; -const SLOT_2 = { - slotKey: 'slot-2', - title: 'Hello 2', -}; - -describe('~/vue_shared/components/keep_alive_slots.vue', () => { - let wrapper; - - const createSlotContent = ({ slotKey, title }) => ` - <div data-testid="slot-child" data-slot-id="${slotKey}"> - <h1>${title}</h1> - <input type="text" /> - </div> - `; - const createComponent = (props = {}) => { - wrapper = mountExtended(KeepAliveSlots, { - propsData: props, - slots: { - [SLOT_1.slotKey]: createSlotContent(SLOT_1), - [SLOT_2.slotKey]: createSlotContent(SLOT_2), - }, - }); - }; - - const findRenderedSlots = () => - wrapper.findAllByTestId('slot-child').wrappers.map((x) => ({ - title: x.find('h1').text(), - inputValue: x.find('input').element.value, - isVisible: x.isVisible(), - })); - - describe('default', () => { - beforeEach(() => { - createComponent(); - }); - - it('doesnt show anything', () => { - expect(findRenderedSlots()).toEqual([]); - }); - - describe('when slotKey is changed', () => { - beforeEach(async () => { - wrapper.setProps({ slotKey: SLOT_1.slotKey }); - await nextTick(); - }); - - it('shows slot', () => { - expect(findRenderedSlots()).toEqual([ - { - title: SLOT_1.title, - isVisible: true, - inputValue: '', - }, - ]); - }); - - it('hides everything when slotKey cannot be found', async () => { - wrapper.setProps({ slotKey: '' }); - await nextTick(); - - expect(findRenderedSlots()).toEqual([ - { - title: SLOT_1.title, - isVisible: false, - inputValue: '', - }, - ]); - }); - - describe('when user intreracts then slotKey changes again', () => { - beforeEach(async () => { - wrapper.find('input').setValue('TEST'); - wrapper.setProps({ slotKey: SLOT_2.slotKey }); - await nextTick(); - }); - - it('keeps first slot alive but hidden', () => { - expect(findRenderedSlots()).toEqual([ - { - title: SLOT_1.title, - isVisible: false, - inputValue: 'TEST', - }, - { - title: SLOT_2.title, - isVisible: true, - inputValue: '', - }, - ]); - }); - }); - }); - }); - - describe('initialized with slotKey', () => { - beforeEach(() => { - createComponent({ slotKey: SLOT_2.slotKey }); - }); - - it('shows slot', () => { - expect(findRenderedSlots()).toEqual([ - { - title: SLOT_2.title, - isVisible: true, - inputValue: '', - }, - ]); - }); - }); -}); diff --git a/spec/frontend/vue_shared/components/markdown/header_spec.js b/spec/frontend/vue_shared/components/markdown/header_spec.js index 40875ed5dbc..57f6d751efd 100644 --- a/spec/frontend/vue_shared/components/markdown/header_spec.js +++ b/spec/frontend/vue_shared/components/markdown/header_spec.js @@ -82,6 +82,14 @@ describe('Markdown field header component', () => { }); }); + it('attach file button should have data-button-type attribute', () => { + const attachButton = findToolbarButtonByProp('icon', 'paperclip'); + + // Used for dropzone_input.js as `clickable` property + // to prevent triggers upload file by clicking on the edge of textarea + expect(attachButton.attributes('data-button-type')).toBe('attach-file'); + }); + it('hides markdown preview when previewMarkdown is false', () => { expect(findPreviewToggle().text()).toBe('Preview'); }); diff --git a/spec/frontend/vue_shared/components/vuex_module_provider_spec.js b/spec/frontend/vue_shared/components/vuex_module_provider_spec.js deleted file mode 100644 index 95f557b10c1..00000000000 --- a/spec/frontend/vue_shared/components/vuex_module_provider_spec.js +++ /dev/null @@ -1,39 +0,0 @@ -import { mount } from '@vue/test-utils'; -import VuexModuleProvider from '~/vue_shared/components/vuex_module_provider.vue'; - -const TestComponent = { - inject: ['vuexModule'], - template: `<div data-testid="vuexModule">{{ vuexModule }}</div> `, -}; - -const TEST_VUEX_MODULE = 'testVuexModule'; - -describe('~/vue_shared/components/vuex_module_provider', () => { - let wrapper; - - const findProvidedVuexModule = () => wrapper.find('[data-testid="vuexModule"]').text(); - - const createComponent = (extraParams = {}) => { - wrapper = mount(VuexModuleProvider, { - propsData: { - vuexModule: TEST_VUEX_MODULE, - }, - slots: { - default: TestComponent, - }, - ...extraParams, - }); - }; - - it('provides "vuexModule" set from prop', () => { - createComponent(); - expect(findProvidedVuexModule()).toBe(TEST_VUEX_MODULE); - }); - - it('provides "vuexModel" set from "vuex-module" prop when using @vue/compat', () => { - createComponent({ - propsData: { 'vuex-module': TEST_VUEX_MODULE }, - }); - expect(findProvidedVuexModule()).toBe(TEST_VUEX_MODULE); - }); -}); |