From 1195a8eda4e725bbab61b63478df1cb647212afa Mon Sep 17 00:00:00 2001 From: groenroos Date: Sun, 20 Mar 2022 15:01:53 +0000 Subject: [PATCH] #89: Thumbnail tests --- lib/Uploads.js | 3 ++- test/_data/files/photo.jpg | Bin 0 -> 71759 bytes test/lib/Uploads.test.js | 41 +++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 test/_data/files/photo.jpg diff --git a/lib/Uploads.js b/lib/Uploads.js index 79b2653..2cd207f 100644 --- a/lib/Uploads.js +++ b/lib/Uploads.js @@ -125,7 +125,8 @@ export default class Uploads { } /* Generate thumbnails, if any */ - const thumbs = new Utils().coerceArray(rule && rule.thumbnails ? rule.thumbnails : this.app.config.upload.thumbnails); + const thumbDefinition = rule && rule.thumbnails ? rule.thumbnails : this.app.config.upload.thumbnails; + const thumbs = thumbDefinition ? new Utils().coerceArray(thumbDefinition) : []; for (const [i, thumb] of thumbs.entries()) { /* Construct path for thumbnail */ diff --git a/test/_data/files/photo.jpg b/test/_data/files/photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5a406977c26c48939833ab3ebc75c3c5515972c GIT binary patch literal 71759 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
M!wyrqOWDp~ZM**W)jiiqn+;M_t~ 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

W2({W1rssG*3T{_>wSxvS=45burDiuQ;3Dz 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 a!a>c`_bV;IMZ5C>pufZo^2_3tKmXag2G&Oa literal 0 HcmV?d00001 diff --git a/test/lib/Uploads.test.js b/test/lib/Uploads.test.js index e45ff73..2033e70 100644 --- a/test/lib/Uploads.test.js +++ b/test/lib/Uploads.test.js @@ -3,6 +3,7 @@ import path from 'path'; import fs from 'fs'; import _ from 'underscore'; import { fileURLToPath } from 'url'; +import imageSize from 'image-size'; import Response from '../../lib/Response.js'; import SaplingError from '../../lib/SaplingError.js'; @@ -61,6 +62,46 @@ test('uploads an image', async t => { t.is(upload.image.height, 180); }); +test('processes thumbnails', async t => { + t.context.app.uploads = new Uploads(t.context.app); + const request = _.extend({ + files: { + image: getFileObject('photo.jpg') + } + }, t.context.request); + + const upload = await t.context.app.uploads.handleUpload(request, t.context.response, { + image: { + thumbnails: [ + { + name: 'web', + width: 500, + }, + { + name: 'thumb', + width: 128, + height: 128, + fit: 'cover', + }, + ] + } + }); + + const thumbWebPath = path.join(__dirname, 'uploads/thumbs/web/photo.jpg'); + const thumbWebDims = await imageSize(thumbWebPath); + + t.true(fs.existsSync(thumbWebPath)); + t.is(thumbWebDims.width, 500); + t.is(thumbWebDims.height, 375); + + const thumbThumbPath = path.join(__dirname, 'uploads/thumbs/thumb/photo.jpg'); + const thumbThumbDims = await imageSize(thumbThumbPath); + + t.true(fs.existsSync(thumbThumbPath)); + t.is(thumbThumbDims.width, 128); + t.is(thumbThumbDims.height, 128); +}); + test('uploads a video', async t => { t.context.app.uploads = new Uploads(t.context.app); const request = _.extend({