Refactor uploads

This commit is contained in:
Jonathan Cremin 2016-05-25 21:03:07 +01:00
parent 75a46212da
commit f59b9a5d22
14 changed files with 297 additions and 269 deletions

View file

@ -1,3 +1,4 @@
import path from 'path';
import assert from 'assert';
import sizeOf from 'image-size';
import { agent } from 'supertest';
@ -12,7 +13,7 @@ describe('setup hostr-web file', function() {
this.timeout(30000);
request
.post('/api/file')
.attach('file', 'test/fixtures/utah-arches.jpg')
.attach('file', path.join(__dirname, '..', 'fixtures', 'utah-arches.jpg'))
.auth('test@hostr.co', 'test-password')
.expect(201)
.expect(function(response) {
@ -25,7 +26,6 @@ describe('setup hostr-web file', function() {
});
describe('hostr-web file', function() {
describe('when GET /file/:id/:name', function() {
it('should receive an image', function(done) {
request
@ -40,41 +40,40 @@ describe('hostr-web file', function() {
});
describe('when GET /file/150/:id/:name', function() {
it('should receive a 150px wide thumbnail of the image', function(done) {
it('should receive a 150px wide thumbnail of the image', function() {
request
.get('/file/150/' + file.id + '/' + file.name)
.expect(200)
.expect('Content-type', 'image/jpeg')
.expect(function(response) {
assert(sizeOf(response.body).width === 150);
})
.end(done);
const width = sizeOf(response.body).width;
assert(width === 150);
});
});
});
describe('when GET /file/970/:id/:name', function() {
it('should receive a 970px wide thumbnail of the image', function(done) {
it('should receive a 970px wide thumbnail of the image', function() {
request
.get('/file/970/' + file.id + '/' + file.name)
.expect(200)
.expect('Content-type', 'image/jpeg')
.expect(function(response) {
assert(sizeOf(response.body).width === 970);
})
.end(done);
const width = sizeOf(response.body).width;
assert(width === 970);
});
});
});
describe('when GET /:id', function() {
it('should receive some HTML', function(done) {
it('should receive some HTML', function() {
request
.get('/' + file.id)
.expect(200)
.expect('Content-type', /text\/html/) // Could include charset
.expect(function(response) {
assert(response.text.indexOf('src="/file/970/' + file.id + '/' + file.name + '"') > -1);
})
.end(done);
});
});
});