mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: added back missing topic thumb tests that were removed in last commit
This commit is contained in:
@@ -470,6 +470,11 @@ helpers.generateError = (statusCode, message) => {
|
|||||||
payload.status.code = 'not-implemented';
|
payload.status.code = 'not-implemented';
|
||||||
payload.status.message = message || 'The route you are trying to call is not implemented yet, please try again tomorrow';
|
payload.status.message = message || 'The route you are trying to call is not implemented yet, please try again tomorrow';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 503:
|
||||||
|
payload.status.code = 'service-unavailable';
|
||||||
|
payload.status.message = message || 'The route you are trying to call is not currently available due to a server configuration';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return payload;
|
return payload;
|
||||||
|
|||||||
@@ -109,10 +109,10 @@ async function resizeImage(fileObj) {
|
|||||||
return fileObj;
|
return fileObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
uploadsController.uploadThumb = async function (req, res, next) {
|
uploadsController.uploadThumb = async function (req, res) {
|
||||||
if (!meta.config.allowTopicsThumbnail) {
|
if (!meta.config.allowTopicsThumbnail) {
|
||||||
deleteTempFiles(req.files.files);
|
deleteTempFiles(req.files.files);
|
||||||
return next(new Error('[[error:topic-thumbnails-are-disabled]]'));
|
return helpers.formatApiResponse(503, res, new Error('[[error:topic-thumbnails-are-disabled]]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return await uploadsController.upload(req, res, async function (uploadedFile) {
|
return await uploadsController.upload(req, res, async function (uploadedFile) {
|
||||||
|
|||||||
@@ -94,13 +94,13 @@ Topics.getThumbs = async (req, res) => {
|
|||||||
helpers.formatApiResponse(200, res, await topics.thumbs.get(req.params.tid));
|
helpers.formatApiResponse(200, res, await topics.thumbs.get(req.params.tid));
|
||||||
};
|
};
|
||||||
|
|
||||||
Topics.addThumb = async (req, res, next) => {
|
Topics.addThumb = async (req, res) => {
|
||||||
await checkThumbPrivileges({ tid: req.params.tid, uid: req.user.uid, res });
|
await checkThumbPrivileges({ tid: req.params.tid, uid: req.user.uid, res });
|
||||||
if (res.headersSent) {
|
if (res.headersSent) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const files = await uploadsController.uploadThumb(req, res, next); // response is handled here
|
const files = await uploadsController.uploadThumb(req, res); // response is handled here
|
||||||
|
|
||||||
// Add uploaded files to topic zset
|
// Add uploaded files to topic zset
|
||||||
if (files && files.length) {
|
if (files && files.length) {
|
||||||
|
|||||||
@@ -193,5 +193,30 @@ describe('Topic thumbs', () => {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should fail if thumbnails are not enabled', (done) => {
|
||||||
|
meta.config.allowTopicsThumbnail = 0;
|
||||||
|
|
||||||
|
helpers.uploadFile(`${nconf.get('url')}/api/v3/topics/${uuid}/thumbs`, path.join(__dirname, '../files/test.png'), {}, adminJar, adminCSRF, function (err, res, body) {
|
||||||
|
assert.ifError(err);
|
||||||
|
assert.strictEqual(res.statusCode, 503);
|
||||||
|
assert(body && body.status);
|
||||||
|
assert.strictEqual(body.status.message, '[[error:topic-thumbnails-are-disabled]]');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should fail if file is not image', function (done) {
|
||||||
|
meta.config.allowTopicsThumbnail = 1;
|
||||||
|
|
||||||
|
helpers.uploadFile(`${nconf.get('url')}/api/v3/topics/${uuid}/thumbs`, path.join(__dirname, '../files/503.html'), {}, adminJar, adminCSRF, function (err, res, body) {
|
||||||
|
assert.ifError(err);
|
||||||
|
console.log(body);
|
||||||
|
assert.strictEqual(res.statusCode, 500);
|
||||||
|
assert(body && body.status);
|
||||||
|
assert.strictEqual(body.status.message, '[[error:invalid-file]]');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user