diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-09 18:07:50 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-09 18:07:50 +0300 |
commit | 608d6aaa3d80a33862ca2c29d96bfd687b1a011b (patch) | |
tree | 665f96928bb42b40cbc34d70a09ee951f15fb468 /spec/frontend/vue_shared/components/markdown | |
parent | 6180f62ab34662c64103872b8352b25817b73a8d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/markdown')
-rw-r--r-- | spec/frontend/vue_shared/components/markdown/field_spec.js | 32 | ||||
-rw-r--r-- | spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js | 25 |
2 files changed, 44 insertions, 13 deletions
diff --git a/spec/frontend/vue_shared/components/markdown/field_spec.js b/spec/frontend/vue_shared/components/markdown/field_spec.js index 3dc52730bb4..68ce07f86b9 100644 --- a/spec/frontend/vue_shared/components/markdown/field_spec.js +++ b/spec/frontend/vue_shared/components/markdown/field_spec.js @@ -1,3 +1,4 @@ +import $ from 'jquery'; import { nextTick } from 'vue'; import AxiosMockAdapter from 'axios-mock-adapter'; import { TEST_HOST, FIXTURES_PATH } from 'spec/test_constants'; @@ -6,7 +7,7 @@ import { HTTP_STATUS_OK } from '~/lib/utils/http_status'; import MarkdownField from '~/vue_shared/components/markdown/field.vue'; import MarkdownFieldHeader from '~/vue_shared/components/markdown/header.vue'; import MarkdownToolbar from '~/vue_shared/components/markdown/toolbar.vue'; -import { mountExtended } from 'helpers/vue_test_utils_helper'; +import { mountExtended, shallowMountExtended } from 'helpers/vue_test_utils_helper'; import { renderGFM } from '~/behaviors/markdown/render_gfm'; jest.mock('~/behaviors/markdown/render_gfm'); @@ -75,6 +76,22 @@ describe('Markdown field component', () => { ); } + function createWrapper({ autocompleteDataSources = {} } = {}) { + subject = shallowMountExtended(MarkdownField, { + propsData: { + markdownDocsPath, + markdownPreviewPath, + isSubmitting: false, + textareaValue, + lines: [], + enablePreview: true, + restrictedToolBarItems, + showContentEditorSwitcher: false, + autocompleteDataSources, + }, + }); + } + const getPreviewLink = () => subject.findByTestId('preview-tab'); const getWriteLink = () => subject.findByTestId('write-tab'); const getMarkdownButton = () => subject.find('.js-md'); @@ -85,6 +102,7 @@ describe('Markdown field component', () => { const findDropzone = () => subject.find('.div-dropzone'); const findMarkdownHeader = () => subject.findComponent(MarkdownFieldHeader); const findMarkdownToolbar = () => subject.findComponent(MarkdownToolbar); + const findGlForm = () => $(subject.vm.$refs['gl-form']).data('glForm'); describe('mounted', () => { const previewHTML = ` @@ -101,6 +119,18 @@ describe('Markdown field component', () => { findDropzone().element.addEventListener('click', dropzoneSpy); }); + describe('GlForm', () => { + beforeEach(() => { + createWrapper({ autocompleteDataSources: { commands: '/foobar/-/autocomplete_sources' } }); + }); + + it('initializes GlForm with autocomplete data sources', () => { + expect(findGlForm().autoComplete.dataSources).toMatchObject({ + commands: '/foobar/-/autocomplete_sources', + }); + }); + }); + it('renders textarea inside backdrop', () => { expect(subject.find('.zen-backdrop textarea').element).not.toBeNull(); }); diff --git a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js index 12eda284aea..26b536984ff 100644 --- a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js +++ b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js @@ -24,6 +24,7 @@ describe('vue_shared/component/markdown/markdown_editor', () => { const formFieldName = 'form[markdown_field]'; const formFieldPlaceholder = 'Write some markdown'; const formFieldAriaLabel = 'Edit your content'; + const autocompleteDataSources = { commands: '/foobar/-/autcomplete_sources' }; let mock; const buildWrapper = ({ propsData = {}, attachTo, stubs = {} } = {}) => { @@ -35,6 +36,7 @@ describe('vue_shared/component/markdown/markdown_editor', () => { markdownDocsPath, quickActionsDocsPath, enableAutocomplete, + autocompleteDataSources, enablePreview, formFieldProps: { id: formFieldId, @@ -68,18 +70,17 @@ describe('vue_shared/component/markdown/markdown_editor', () => { it('displays markdown field by default', () => { buildWrapper({ propsData: { supportsQuickActions: true } }); - expect(findMarkdownField().props()).toEqual( - expect.objectContaining({ - markdownPreviewPath: renderMarkdownPath, - quickActionsDocsPath, - canAttachFile: true, - enableAutocomplete, - textareaValue: value, - markdownDocsPath, - uploadsPath: window.uploads_path, - enablePreview, - }), - ); + expect(findMarkdownField().props()).toMatchObject({ + autocompleteDataSources, + markdownPreviewPath: renderMarkdownPath, + quickActionsDocsPath, + canAttachFile: true, + enableAutocomplete, + textareaValue: value, + markdownDocsPath, + uploadsPath: window.uploads_path, + enablePreview, + }); }); it('renders markdown field textarea', () => { |