editor.js/test/cypress/support/commands.ts
Mihir Rane 585e01b06c
Basic initialisation test for Editor.js (#1410)
* Initial commit

* Fixed test.html file

* Create editor instance in the test

* Assert paragraph data in editor instance

* Moving cypress folder to test folder

* Minor Fixes

* Removed config test for now

* Fixed example.html

* Fixed editor.js dist path

* Minor Fixes

* Stored Host in a const

* Add nodemon and Fix commands

* Add and configure cypress eslint plugin

* Updated Tests according to best practices

* Minor FIxes

* Minor FIxes

* adjust eslint and ts

* Update .eslintrc

* improve config

* debug tests

* fix tests

* Fix declarations

* descrease debounce

* rm timeout

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@gmail.com>
2020-11-21 21:01:31 +03:00

39 lines
1.2 KiB
TypeScript

/**
* This file contains custom commands for Cypress.
* Also it can override the existing commands.
*
* --------------------------------------------------
*/
import type { EditorConfig } from './../../../types/index';
import type EditorJS from '../../../types/index';
import Chainable = Cypress.Chainable;
/**
* Create a wrapper and initialize the new instance of editor.js
* Then return the instance
*
* @param editorConfig - config to pass to the editor
* @returns EditorJS - created instance
*/
Cypress.Commands.add('createEditor', (editorConfig: EditorConfig = {}): Chainable<EditorJS> => {
return cy.window()
.then((window) => {
return new Promise((resolve: (instance: EditorJS) => void) => {
const editorContainer = window.document.createElement('div');
editorContainer.setAttribute('id', 'editorjs');
editorContainer.dataset.cy = 'editorjs';
editorContainer.style.border = '1px dotted #388AE5';
window.document.body.appendChild(editorContainer);
const editorInstance: EditorJS = new window.EditorJS(editorConfig);
editorInstance.isReady.then(() => {
resolve(editorInstance);
});
});
});
});