import { Tinymce } from '../utils/tinymce'; beforeEach(() => { $('body').append('<textarea class="test" id="test1"></textarea>'); $('body').append('<textarea class="test" id="test2"></textarea>'); Tinymce.init({ selector: '.test' }); }); describe('findEditorsByClassName test suite', () => { it('expect two editors with class name test', () => expect(Tinymce.findEditorsByClassName('test').length).toBe(2)); it('expect zero editors with class name whatever', () => expect(Tinymce.findEditorsByClassName('whatever').length).toBe(0)); }); describe('findEditorById test suite', () => { it('expect editor with id test1 to be defined', () => expect(Tinymce.findEditorById('test1')).toBeDefined()); it('expect editor with id test2 to be defined', () => expect(Tinymce.findEditorById('test2')).toBeDefined()); it('expect editor with id whatever to be undefined', () => expect(Tinymce.findEditorById('whatever')).not.toBeDefined()); }); describe('destroyEditorsByClassName test suite', () => { it('expect remaining two editors', () => { Tinymce.destroyEditorsByClassName('whatever'); expect(Tinymce.findEditorsByClassName('test').length).toBe(2); }); it('expect remaining zero editors', () => { Tinymce.destroyEditorsByClassName('test'); expect(Tinymce.findEditorsByClassName('test').length).toBe(0); }); }); describe('destroyEditorsById test suite', () => { it('expect remaining two editors', () => { Tinymce.destroyEditorById('test3'); expect(Tinymce.findEditorsByClassName('test').length).toBe(2); }); it('expect remaining one editor', () => { Tinymce.destroyEditorById('test1'); expect(Tinymce.findEditorsByClassName('test').length).toBe(1); }); it('expect remaining zero editors', () => { Tinymce.destroyEditorById('test1'); Tinymce.destroyEditorById('test2'); expect(Tinymce.findEditorsByClassName('test').length).toBe(0); }); }); afterEach(() => { $('body').html(''); });