#5576 Reestructurar el directorio de imagenes #1618
|
@ -0,0 +1,106 @@
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
const fs = require('fs-extra');
|
||||||
|
const models = require('vn-loopback/server/server').models;
|
||||||
|
const LoopBackContext = require('loopback-context');
|
||||||
|
const nameItem = 'Pallet';
|
||||||
|
const collectionName = 'user';
|
||||||
|
let obj = {};
|
||||||
|
const STORAGE_IMAGE_USER = 'storage/image/user';
|
||||||
|
const _23_F2 = '23/f2';
|
||||||
|
const FULL_23_F2 = `full/${_23_F2}`;
|
||||||
|
fdescribe('loopback model Image', () => {
|
||||||
|
const userId = 1107;
|
||||||
|
|
||||||
|
const activeCtx = {
|
||||||
|
accessToken: {userId: userId},
|
||||||
|
http: {
|
||||||
|
req: {
|
||||||
|
headers: {origin: 'http://localhost'},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
beforeAll(async() => {
|
||||||
|
const {name: fileName, id: entityId} = await models.Item.findOne({where: {name: nameItem}});
|
||||||
|
obj = {
|
||||||
|
collectionName,
|
||||||
|
srcFile: 'front/core/directives/no-image.png',
|
||||||
|
fileName,
|
||||||
|
entityId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
spyOn(LoopBackContext, 'getCurrentContext').and.returnValue({
|
||||||
|
active: activeCtx,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should handle folder destination', async() => {
|
||||||
|
const {name, dstDir} = await models.Image.handleFolderDestination(obj.fileName);
|
||||||
|
|
||||||
|
expect(name).toEqual(nameItem);
|
||||||
|
expect(dstDir).toEqual(`${_23_F2}`);
|
||||||
|
const collectionDir = await models.Image.getCollectionDir(collectionName);
|
||||||
|
|
||||||
|
expect(collectionDir).toEqual(`${STORAGE_IMAGE_USER}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should handle full size path', async() => {
|
||||||
|
const {dstDir} = await models.Image.handleFolderDestination(obj.fileName);
|
||||||
|
const collectionDir = await models.Image.getCollectionDir(collectionName);
|
||||||
|
const _fullSizePath = models.Image.getFullSizePath(obj.fileName, collectionDir, dstDir);
|
||||||
|
const {fullSizePath, toFullSizePath, toFullSizeOriginalPath} = _fullSizePath;
|
||||||
|
|
||||||
|
expect(fullSizePath).toEqual(`${STORAGE_IMAGE_USER}/${FULL_23_F2}`);
|
||||||
|
expect(toFullSizePath).toEqual(`${STORAGE_IMAGE_USER}/${FULL_23_F2}/${nameItem}`);
|
||||||
|
expect(toFullSizeOriginalPath).toEqual(`${STORAGE_IMAGE_USER}/full/${nameItem}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should resize', async() => {
|
||||||
|
try {
|
||||||
|
await models.Image.resize(obj);
|
||||||
|
const fileExists = await fs.exists(`${STORAGE_IMAGE_USER}/${FULL_23_F2}/${nameItem}.png`);
|
||||||
|
|
||||||
|
expect(fileExists).toBeTrue();
|
||||||
|
|
||||||
|
const linkExists = await fs.readlink(`${STORAGE_IMAGE_USER}/full/${nameItem}`);
|
||||||
|
|
||||||
|
expect(linkExists).toEqual(`${STORAGE_IMAGE_USER}/${FULL_23_F2}/${nameItem}`);
|
||||||
|
} catch (e) {
|
||||||
|
throw new Error(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
afterAll(async() => {
|
||||||
|
await fs.unlink(`${STORAGE_IMAGE_USER}/full/${nameItem}`);
|
||||||
|
|
||||||
|
try {
|
||||||
|
await fs.unlink(`${STORAGE_IMAGE_USER}/160x160/${nameItem}`);
|
||||||
|
} catch (e) {
|
||||||
|
expect(e).toBeDefined();
|
||||||
|
}
|
||||||
|
// fs.stat(`${STORAGE_IMAGE_USER}/160x160/${_23_F2}/${nameItem}.png`, (err, data) => {
|
||||||
|
// if (err) console.error(err);
|
||||||
|
// fs.unlink(`${STORAGE_IMAGE_USER}/160x160/${_23_F2}/${nameItem}.png`);
|
||||||
|
// });
|
||||||
|
// console.info('deleted');
|
||||||
|
await fs.unlink(`${STORAGE_IMAGE_USER}/520x520/${nameItem}`);
|
||||||
|
|
||||||
|
await fs.unlink(`${STORAGE_IMAGE_USER}/1600x1600/${nameItem}`);
|
||||||
|
/* fs.access(`${STORAGE_IMAGE_USER}/1600x1600/${_23_F2}/${nameItem}.png`, (err, data) => {
|
||||||
|
if (err) console.error(err);
|
||||||
|
fs.unlink(`${STORAGE_IMAGE_USER}/1600x1600/${_23_F2}/${nameItem}.png`);
|
||||||
|
console.info('deleted');
|
||||||
|
});
|
||||||
|
fs.stat(`${STORAGE_IMAGE_USER}/520x520/${_23_F2}/${nameItem}.png`, (err, data) => {
|
||||||
|
if (err) console.error(err);
|
||||||
|
fs.unlink(`${STORAGE_IMAGE_USER}/520x520/${_23_F2}/${nameItem}.png`);
|
||||||
|
console.info('deleted');
|
||||||
|
});
|
||||||
|
fs.stat(`${STORAGE_IMAGE_USER}/${FULL_23_F2}/${nameItem}.png`, (err, data) => {
|
||||||
|
if (err) console.error(err);
|
||||||
|
fs.unlink(`${STORAGE_IMAGE_USER}/${FULL_23_F2}/${nameItem}.png`);
|
||||||
|
console.info('deleted');
|
||||||
|
});*/
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue