diff options
Diffstat (limited to 'spec/frontend/blob_edit/edit_blob_spec.js')
-rw-r--r-- | spec/frontend/blob_edit/edit_blob_spec.js | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/spec/frontend/blob_edit/edit_blob_spec.js b/spec/frontend/blob_edit/edit_blob_spec.js index 8f92e8498b9..ac8b916e448 100644 --- a/spec/frontend/blob_edit/edit_blob_spec.js +++ b/spec/frontend/blob_edit/edit_blob_spec.js @@ -1,3 +1,4 @@ +import waitForPromises from 'helpers/wait_for_promises'; import EditBlob from '~/blob_edit/edit_blob'; import EditorLite from '~/editor/editor_lite'; import MarkdownExtension from '~/editor/editor_markdown_ext'; @@ -7,7 +8,12 @@ jest.mock('~/editor/editor_lite'); jest.mock('~/editor/editor_markdown_ext'); describe('Blob Editing', () => { - const mockInstance = 'foo'; + const useMock = jest.fn(); + const mockInstance = { + use: useMock, + getValue: jest.fn(), + focus: jest.fn(), + }; beforeEach(() => { setFixtures( `<div class="js-edit-blob-form"><div id="file_path"></div><div id="editor"></div><input id="file-content"></div>`, @@ -15,36 +21,33 @@ describe('Blob Editing', () => { jest.spyOn(EditorLite.prototype, 'createInstance').mockReturnValue(mockInstance); }); - const initEditor = (isMarkdown = false) => { + const editorInst = isMarkdown => { return new EditBlob({ isMarkdown, - monacoEnabled: true, }); }; + const initEditor = async (isMarkdown = false) => { + editorInst(isMarkdown); + await waitForPromises(); + }; + it('loads FileTemplateExtension by default', async () => { await initEditor(); - expect(EditorLite.prototype.use).toHaveBeenCalledWith( - expect.arrayContaining([FileTemplateExtension]), - mockInstance, - ); + expect(useMock).toHaveBeenCalledWith(FileTemplateExtension); }); describe('Markdown', () => { it('does not load MarkdownExtension by default', async () => { await initEditor(); - expect(EditorLite.prototype.use).not.toHaveBeenCalledWith( - expect.arrayContaining([MarkdownExtension]), - mockInstance, - ); + expect(useMock).not.toHaveBeenCalledWith(MarkdownExtension); }); it('loads MarkdownExtension only for the markdown files', async () => { await initEditor(true); - expect(EditorLite.prototype.use).toHaveBeenCalledWith( - [MarkdownExtension, FileTemplateExtension], - mockInstance, - ); + expect(useMock).toHaveBeenCalledTimes(2); + expect(useMock).toHaveBeenNthCalledWith(1, FileTemplateExtension); + expect(useMock).toHaveBeenNthCalledWith(2, MarkdownExtension); }); }); }); |