UNPKG

ghost-storage-cloudinary-v2

Version:
65 lines (55 loc) 2.27 kB
'use strict'; const chai = require('chai'), expect = chai.expect, path = require('path'), RetinaJS = require(path.join(__dirname, '../../../plugins')).RetinaJS, emptyFunc = function () { // Do nothing }; describe('generateDprConfigs', function () { it('should return 1 config when dpr = 1 and have public_id untouched', function (done) { const retinajs = new RetinaJS(emptyFunc, { upload: { public_id: 'foo' } }, { baseWidth: 200 }), dprConfig = retinajs.generateDprConfigs(1); expect(dprConfig).to.have.lengthOf(1); expect(dprConfig[0].upload.public_id).to.equal('foo'); expect(dprConfig[0].upload.width).to.equal(200); expect(dprConfig[0].upload.crop).to.equal('scale'); expect(dprConfig[0].upload.dpr).to.equal('1.0'); expect(dprConfig[0].upload.tags[0]).to.equal('dpr1'); done(); }); it('should return 3 configs when dpr = 3', function (done) { const uploaderConfig = { upload: { public_id: 'foo', tags: ['test'] } }, retinajs = new RetinaJS(emptyFunc, uploaderConfig, { baseWidth: 200 }), dprConfig = retinajs.generateDprConfigs(3); expect(dprConfig).to.have.lengthOf(3); for (let i = 0; i < 3; i += 1) { let pubId = 'foo'; const dpr = 3 - i; if (i <= 1) { pubId = `foo@${dpr}x`; } expect(dprConfig[i].upload.public_id).to.equal(pubId); expect(dprConfig[i].upload.width).to.equal(200); expect(dprConfig[i].upload.crop).to.equal('scale'); expect(dprConfig[i].upload.dpr).to.equal(`${dpr}.0`); expect(dprConfig[i].upload.tags[1]).to.equal(`dpr${dpr}`); } done(); }); it('should throw an error when dpr < 1', function (done) { const retinajs = new RetinaJS(emptyFunc, { upload: { public_id: 'foo' } }, { baseWidth: 1 }); try { retinajs.generateDprConfigs(0); done('should raise an error'); } catch (e) { expect(e.message).to.equal('Unexpected dpr value: 0'); done(); } }); });