Fanu2's picture
Deploy full app to HF Space
b456468
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();
});
});