diff options
Diffstat (limited to 'spec/frontend/vue_shared/components/rich_content_editor')
9 files changed, 22 insertions, 18 deletions
diff --git a/spec/frontend/vue_shared/components/rich_content_editor/editor_service_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/editor_service_spec.js index d79df4d0557..51619cd9578 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/editor_service_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/editor_service_spec.js @@ -20,7 +20,7 @@ describe('Editor Service', () => { let mockInstance; let event; let handler; - const parseHtml = str => { + const parseHtml = (str) => { const wrapper = document.createElement('div'); wrapper.innerHTML = str; return wrapper.firstChild; diff --git a/spec/frontend/vue_shared/components/rich_content_editor/modals/add_image/upload_image_tab_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/modals/add_image/upload_image_tab_spec.js index ded490b2568..81fd059ce4f 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/modals/add_image/upload_image_tab_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/modals/add_image/upload_image_tab_spec.js @@ -10,7 +10,7 @@ describe('Upload Image Tab', () => { afterEach(() => wrapper.destroy()); - const triggerInputEvent = size => { + const triggerInputEvent = (size) => { const file = { size, name: 'file-name.png' }; const mockEvent = new Event('input'); diff --git a/spec/frontend/vue_shared/components/rich_content_editor/modals/insert_video_modal_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/modals/insert_video_modal_spec.js index be3a4030b1d..d59d4cc1de9 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/modals/insert_video_modal_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/modals/insert_video_modal_spec.js @@ -8,7 +8,7 @@ describe('Insert Video Modal', () => { const findModal = () => wrapper.find(GlModal); const findUrlInput = () => wrapper.find({ ref: 'urlInput' }); - const triggerInsertVideo = url => { + const triggerInsertVideo = (url) => { const preventDefault = jest.fn(); findUrlInput().vm.$emit('input', url); findModal().vm.$emit('primary', { preventDefault }); diff --git a/spec/frontend/vue_shared/components/rich_content_editor/rich_content_editor_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/rich_content_editor_spec.js index cd1157a1c2e..2eb353a1801 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/rich_content_editor_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/rich_content_editor_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import { mockEditorApi } from '@toast-ui/vue-editor'; +import { Editor, mockEditorApi } from '@toast-ui/vue-editor'; import RichContentEditor from '~/vue_shared/components/rich_content_editor/rich_content_editor.vue'; import AddImageModal from '~/vue_shared/components/rich_content_editor/modals/add_image/add_image_modal.vue'; import InsertVideoModal from '~/vue_shared/components/rich_content_editor/modals/insert_video_modal.vue'; @@ -17,16 +17,17 @@ import { insertVideo, registerHTMLToMarkdownRenderer, getEditorOptions, + getMarkdown, } from '~/vue_shared/components/rich_content_editor/services/editor_service'; jest.mock('~/vue_shared/components/rich_content_editor/services/editor_service', () => ({ - ...jest.requireActual('~/vue_shared/components/rich_content_editor/services/editor_service'), addCustomEventListener: jest.fn(), removeCustomEventListener: jest.fn(), addImage: jest.fn(), insertVideo: jest.fn(), registerHTMLToMarkdownRenderer: jest.fn(), getEditorOptions: jest.fn(), + getMarkdown: jest.fn(), })); describe('Rich Content Editor', () => { @@ -38,9 +39,12 @@ describe('Rich Content Editor', () => { const findAddImageModal = () => wrapper.find(AddImageModal); const findInsertVideoModal = () => wrapper.find(InsertVideoModal); - const buildWrapper = () => { + const buildWrapper = async () => { wrapper = shallowMount(RichContentEditor, { propsData: { content, imageRoot }, + stubs: { + ToastEditor: Editor, + }, }); }; @@ -89,9 +93,8 @@ describe('Rich Content Editor', () => { it('emits an input event with the changed content', () => { const changedMarkdown = '## Changed Markdown'; - const getMarkdownMock = jest.fn().mockReturnValueOnce(changedMarkdown); + getMarkdown.mockReturnValueOnce(changedMarkdown); - findEditor().setMethods({ invoke: getMarkdownMock }); findEditor().vm.$emit('change'); expect(wrapper.emitted().input[0][0]).toBe(changedMarkdown); @@ -147,6 +150,7 @@ describe('Rich Content Editor', () => { }); it('emits load event with the markdown formatted by Toast UI', () => { + mockEditorApi.getMarkdown.mockReturnValueOnce(formattedMarkdown); expect(mockEditorApi.getMarkdown).toHaveBeenCalled(); expect(wrapper.emitted('load')[0]).toEqual([{ formattedMarkdown }]); }); diff --git a/spec/frontend/vue_shared/components/rich_content_editor/services/build_html_to_markdown_renderer_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/services/build_html_to_markdown_renderer_spec.js index 85516eae4cf..3caf03dabba 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/services/build_html_to_markdown_renderer_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/services/build_html_to_markdown_renderer_spec.js @@ -8,9 +8,9 @@ describe('rich_content_editor/services/html_to_markdown_renderer', () => { beforeEach(() => { baseRenderer = { - trim: jest.fn(input => `trimmed ${input}`), - getSpaceCollapsedText: jest.fn(input => `space collapsed ${input}`), - getSpaceControlled: jest.fn(input => `space controlled ${input}`), + trim: jest.fn((input) => `trimmed ${input}`), + getSpaceCollapsedText: jest.fn((input) => `space collapsed ${input}`), + getSpaceControlled: jest.fn((input) => `space controlled ${input}`), convert: jest.fn(), }; diff --git a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/mock_data.js b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/mock_data.js index 5cf3961819e..407072fb596 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/mock_data.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/mock_data.js @@ -1,12 +1,12 @@ // Node spec helpers -export const buildMockTextNode = literal => ({ literal, type: 'text' }); +export const buildMockTextNode = (literal) => ({ literal, type: 'text' }); export const normalTextNode = buildMockTextNode('This is just normal text.'); // Token spec helpers -const buildMockUneditableOpenToken = type => { +const buildMockUneditableOpenToken = (type) => { return { type: 'openTag', tagName: type, @@ -17,7 +17,7 @@ const buildMockUneditableOpenToken = type => { }; }; -const buildMockTextToken = content => { +const buildMockTextToken = (content) => { return { type: 'text', tagName: null, @@ -25,7 +25,7 @@ const buildMockTextToken = content => { }; }; -const buildMockUneditableCloseToken = type => ({ type: 'closeTag', tagName: type }); +const buildMockUneditableCloseToken = (type) => ({ type: 'closeTag', tagName: type }); export const originToken = buildMockTextToken('{:.no_toc .hidden-md .hidden-lg}'); const uneditableOpenToken = buildMockUneditableOpenToken('div'); diff --git a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_instance_text_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_instance_text_spec.js index 2897929f1bf..521885f5687 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_instance_text_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_instance_text_spec.js @@ -36,7 +36,7 @@ describe('Render Identifier Instance Text renderer', () => { `( 'should return inline editable, uneditable, and editable tokens in sequence', ({ start, middle, end }) => { - const buildMockTextToken = content => ({ type: 'text', tagName: null, content }); + const buildMockTextToken = (content) => ({ type: 'text', tagName: null, content }); const startToken = buildMockTextToken(start); const middleToken = buildMockTextToken(middle); diff --git a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_paragraph_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_paragraph_spec.js index b3d9576f38b..470cf9bddaa 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_paragraph_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_identifier_paragraph_spec.js @@ -2,7 +2,7 @@ import renderer from '~/vue_shared/components/rich_content_editor/services/rende import { buildMockTextNode } from './mock_data'; -const buildMockParagraphNode = literal => { +const buildMockParagraphNode = (literal) => { return { firstChild: buildMockTextNode(literal), type: 'paragraph', diff --git a/spec/frontend/vue_shared/components/rich_content_editor/toolbar_item_spec.js b/spec/frontend/vue_shared/components/rich_content_editor/toolbar_item_spec.js index 2db15a71215..0e6f951bd53 100644 --- a/spec/frontend/vue_shared/components/rich_content_editor/toolbar_item_spec.js +++ b/spec/frontend/vue_shared/components/rich_content_editor/toolbar_item_spec.js @@ -9,7 +9,7 @@ describe('Toolbar Item', () => { const findIcon = () => wrapper.find(GlIcon); const findButton = () => wrapper.find('button'); - const buildWrapper = propsData => { + const buildWrapper = (propsData) => { wrapper = shallowMount(ToolbarItem, { propsData, directives: { |