Spaces:
Running
Running
| import { fabric } from 'fabric'; | |
| import Graphics from '@/graphics'; | |
| import Resize from '@/component/resize'; | |
| describe('Resize', () => { | |
| let graphics, resize, mockImage; | |
| beforeAll(() => { | |
| graphics = new Graphics(document.createElement('canvas')); | |
| resize = new Resize(graphics); | |
| }); | |
| beforeEach(() => { | |
| mockImage = new fabric.Image(null, { width: 100, height: 100 }); | |
| graphics.setCanvasImage('mockImage', mockImage); | |
| }); | |
| it('should return current image dimensions', () => { | |
| let currentDimensions = resize.getCurrentDimensions(); | |
| expect(currentDimensions).toEqual({ width: 100, height: 100 }); | |
| const newDimensions = { width: 20, height: 20 }; | |
| resize.resize(newDimensions); | |
| currentDimensions = resize.getCurrentDimensions(); | |
| expect(newDimensions).toEqual(currentDimensions); | |
| }); | |
| it('should return original image dimensions after resizing', () => { | |
| const originalDimensionsBeforeResizing = resize.getOriginalDimensions(); | |
| const newDimensions = { width: 20, height: 20 }; | |
| resize.resize(newDimensions); | |
| const originalDimensionsAfterResizing = resize.getOriginalDimensions(); | |
| expect(originalDimensionsBeforeResizing).toEqual(originalDimensionsAfterResizing); | |
| }); | |
| it('should set original dimensions', () => { | |
| const newDimensions = { width: 20, height: 20 }; | |
| resize.setOriginalDimensions(newDimensions); | |
| const originalDimensions = resize.getOriginalDimensions(); | |
| expect(newDimensions).toEqual(originalDimensions); | |
| }); | |
| it('should resize image', () => { | |
| const originalDimensions = resize.getOriginalDimensions(); | |
| const newDimensions = { width: 20, height: 20 }; | |
| resize.resize(newDimensions); | |
| let currentDimensions = resize.getCurrentDimensions(); | |
| expect(newDimensions).toEqual(currentDimensions); | |
| resize.resize(originalDimensions); | |
| currentDimensions = resize.getCurrentDimensions(); | |
| expect(originalDimensions).toEqual(currentDimensions); | |
| }); | |
| it('should set original dimensions when drawing mode is started', () => { | |
| resize.setOriginalDimensions(null); | |
| resize.start(); | |
| expect(resize.getOriginalDimensions()).not.toBeNull(); | |
| }); | |
| it('should have end method', () => { | |
| expect(typeof resize.end === 'function').toBe(true); | |
| }); | |
| it('should return promise', async () => { | |
| const newDimensions = { width: 20, height: 20 }; | |
| const obj = await resize.resize(newDimensions); | |
| expect(obj).toBeUndefined(); | |
| }); | |
| }); | |