mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
refs https://github.com/TryGhost/Toolbox/issues/138 - Having the "ghost" alias only added cognitive load when reading through the test code and didn't provide any additional value. Removed the pattern to keep things simpler and more explicit
84 lines
2.7 KiB
JavaScript
84 lines
2.7 KiB
JavaScript
const path = require('path');
|
|
const fs = require('fs-extra');
|
|
const should = require('should');
|
|
const supertest = require('supertest');
|
|
const localUtils = require('./utils');
|
|
const testUtils = require('../../../../utils');
|
|
const config = require('../../../../../core/shared/config');
|
|
|
|
describe('Images API', function () {
|
|
const images = [];
|
|
let request;
|
|
|
|
before(function () {
|
|
return testUtils.startGhost()
|
|
.then(function () {
|
|
request = supertest.agent(config.get('url'));
|
|
})
|
|
.then(function () {
|
|
return localUtils.doAuth(request);
|
|
});
|
|
});
|
|
|
|
after(function () {
|
|
images.forEach(function (image) {
|
|
fs.removeSync(config.get('paths').appRoot + image);
|
|
});
|
|
});
|
|
|
|
it('Can\'t import fail without file', function () {
|
|
return request
|
|
.post(localUtils.API.getApiQuery('images/upload'))
|
|
.set('Origin', config.get('url'))
|
|
.set('Accept', 'application/json')
|
|
.expect('Content-Type', /json/)
|
|
.expect(422);
|
|
});
|
|
|
|
it('Can\'t import with unsupported file', function (done) {
|
|
request.post(localUtils.API.getApiQuery('images/upload'))
|
|
.set('Origin', config.get('url'))
|
|
.expect('Content-Type', /json/)
|
|
.attach('file', path.join(__dirname, '/../../../../utils/fixtures/csv/single-column-with-header.csv'))
|
|
.expect(415)
|
|
.end(function (err) {
|
|
if (err) {
|
|
return done(err);
|
|
}
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('Can\'t upload incorrect extension', function (done) {
|
|
request.post(localUtils.API.getApiQuery('images/upload'))
|
|
.set('Origin', config.get('url'))
|
|
.set('content-type', 'image/png')
|
|
.expect('Content-Type', /json/)
|
|
.attach('file', path.join(__dirname, '/../../../../utils/fixtures/images/ghost-logo.pngx'))
|
|
.expect(415)
|
|
.end(function (err) {
|
|
if (err) {
|
|
return done(err);
|
|
}
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('Can\'t import if profile image is not square', function (done) {
|
|
request.post(localUtils.API.getApiQuery('images/upload'))
|
|
.set('Origin', config.get('url'))
|
|
.expect('Content-Type', /json/)
|
|
.field('purpose', 'profile_image')
|
|
.attach('file', path.join(__dirname, '/../../../../utils/fixtures/images/favicon_not_square.png'))
|
|
.expect(422)
|
|
.end(function (err) {
|
|
if (err) {
|
|
return done(err);
|
|
}
|
|
|
|
done();
|
|
});
|
|
});
|
|
});
|