Spaces:
Running
Running
| import { fabric } from 'fabric'; | |
| import ImageEditor from '@/imageEditor'; | |
| import * as util from '@/util'; | |
| import { eventNames, keyCodes } from '@/consts'; | |
| const { OBJECT_ROTATED } = eventNames; | |
| describe('ImageEditor', () => { | |
| describe('constructor', () => { | |
| let imageEditor, el, sendHostNameSpy; | |
| beforeEach(() => { | |
| el = document.createElement('div'); | |
| imageEditor = new ImageEditor(el, { usageStatistics: false }); | |
| sendHostNameSpy = jest.spyOn(util, 'sendHostName'); | |
| }); | |
| afterEach(() => { | |
| imageEditor.destroy(); | |
| }); | |
| it('should send hostname by default', () => { | |
| imageEditor = new ImageEditor(el); | |
| expect(sendHostNameSpy).toHaveBeenCalled(); | |
| }); | |
| it('should not send hostname on usageStatistics option false', () => { | |
| imageEditor = new ImageEditor(el, { usageStatistics: false }); | |
| expect(sendHostNameSpy).not.toHaveBeenCalled(); | |
| }); | |
| it('should not be executed when object is selected state', () => { | |
| const preventDefaultSpy = jest.fn(); | |
| jest.spyOn(imageEditor._graphics, 'getActiveObject').mockReturnValue(null); | |
| imageEditor._onKeyDown({ keyCode: keyCodes.BACKSPACE, preventDefault: preventDefaultSpy }); | |
| expect(preventDefaultSpy).not.toHaveBeenCalled(); | |
| }); | |
| it('should be fire at object is rotated', () => { | |
| const canvas = imageEditor._graphics.getCanvas(); | |
| const obj = new fabric.Object({}); | |
| canvas.add(obj); | |
| imageEditor.fire = jest.fn(); | |
| canvas.fire('object:rotating', { target: obj }); | |
| expect(imageEditor.fire).toHaveBeenCalledWith(OBJECT_ROTATED, expect.any(Object)); | |
| }); | |
| }); | |
| }); | |