diff --git a/src/controllers/accounts/edit.js b/src/controllers/accounts/edit.js index 25f1112556..3c2e57bec4 100644 --- a/src/controllers/accounts/edit.js +++ b/src/controllers/accounts/edit.js @@ -2,7 +2,6 @@ var async = require('async'); var fs = require('fs'); -var nconf = require('nconf'); var winston = require('winston'); var db = require('../../database'); @@ -158,7 +157,7 @@ editController.uploadPicture = function (req, res, next) { res.json([{ name: userPhoto.name, - url: image.url.startsWith('http') ? image.url : nconf.get('relative_path') + image.url, + url: image.url, }]); }); }; diff --git a/src/controllers/groups.js b/src/controllers/groups.js index fb780c1b97..94f5469ef4 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -1,7 +1,6 @@ 'use strict'; var async = require('async'); -var nconf = require('nconf'); var validator = require('validator'); var meta = require('../meta'); @@ -181,7 +180,7 @@ groupsController.uploadCover = function (req, res, next) { if (err) { return next(err); } - res.json([{ url: image.url.startsWith('http') ? image.url : nconf.get('relative_path') + image.url }]); + res.json([{ url: image.url }]); }); }; diff --git a/test/helpers/index.js b/test/helpers/index.js index 30aab3c11f..2c37f85500 100644 --- a/test/helpers/index.js +++ b/test/helpers/index.js @@ -34,64 +34,56 @@ helpers.loginUser = function (username, password, callback) { if (err || res.statusCode !== 200) { return callback(err || new Error('[[error:invalid-response]]')); } - myXhr.callbacks.test2 = function () { - this.setDisableHeaderCheck(true); - var stdOpen = this.open; - this.open = function () { - stdOpen.apply(this, arguments); - this.setRequestHeader('Cookie', res.headers['set-cookie'][0].split(';')[0]); - this.setRequestHeader('Origin', nconf.get('url')); - }; - }; - - var socketClient = require('socket.io-client'); - - var io = socketClient.connect(nconf.get('url'), { forceNew: true, multiplex: false }); - io.on('connect', function () { - callback(null, jar, io, body.csrf_token); - }); - - io.on('error', function (err) { - callback(err); + helpers.connectSocketIO(res, function (err, io) { + callback(err, jar, io, body.csrf_token); }); }); }); }; +helpers.connectSocketIO = function (res, callback) { + myXhr.callbacks.headerCallback = function () { + this.setDisableHeaderCheck(true); + var stdOpen = this.open; + this.open = function () { + stdOpen.apply(this, arguments); + this.setRequestHeader('Cookie', res.headers['set-cookie'][0].split(';')[0]); + this.setRequestHeader('Origin', nconf.get('url')); + }; + }; + + var socketClient = require('socket.io-client'); + + var io = socketClient.connect(nconf.get('base_url'), { + path: nconf.get('relative_path') + '/socket.io', + forceNew: true, + multiplex: false, + }); + io.on('connect', function () { + callback(null, io); + }); + + io.on('error', function (err) { + callback(err); + }); +}; + helpers.initSocketIO = function (callback) { var jar; request.get({ url: nconf.get('url') + '/api/config', jar: jar, json: true, - }, function (err, res, body) { + }, function (err, res) { if (err) { return callback(err); } - - myXhr.callbacks.test2 = function () { - this.setDisableHeaderCheck(true); - var stdOpen = this.open; - this.open = function () { - stdOpen.apply(this, arguments); - this.setRequestHeader('Cookie', res.headers['set-cookie'][0].split(';')[0]); - this.setRequestHeader('Origin', nconf.get('url')); - }; - }; - - var io = require('socket.io-client')(nconf.get('url'), { forceNew: true }); - - io.on('connect', function () { - callback(null, jar, io); - }); - - io.on('error', function (err) { - callback(err); + helpers.connectSocketIO(res, function (err, io) { + callback(err, jar, io); }); }); }; - helpers.uploadFile = function (uploadEndPoint, filePath, body, jar, csrf_token, callback) { var formData = { files: [ @@ -134,12 +126,8 @@ helpers.registerUser = function (data, callback) { headers: { 'x-csrf-token': body.csrf_token, }, - }, function (err, res, body) { - if (err) { - return callback(err); - } - - callback(null, jar); + }, function (err) { + callback(err, jar); }); }); }; diff --git a/test/socket.io.js b/test/socket.io.js index 53a5c868db..780fdb49aa 100644 --- a/test/socket.io.js +++ b/test/socket.io.js @@ -12,11 +12,10 @@ var request = require('request'); var cookies = request.jar(); var db = require('./mocks/databasemock'); -var myXhr = require('./mocks/newXhr'); var user = require('../src/user'); var groups = require('../src/groups'); var categories = require('../src/categories'); - +var helpers = require('./helpers'); describe('socket.io', function () { var io; @@ -64,26 +63,12 @@ describe('socket.io', function () { 'x-csrf-token': body.csrf_token, }, json: true, - }, function (err, res, body) { + }, function (err, res) { assert.ifError(err); - myXhr.callbacks.test2 = function () { - this.setDisableHeaderCheck(true); - var stdOpen = this.open; - this.open = function () { - stdOpen.apply(this, arguments); - this.setRequestHeader('Cookie', res.headers['set-cookie'][0].split(';')[0]); - this.setRequestHeader('Origin', nconf.get('url')); - }; - }; - - io = require('socket.io-client')(nconf.get('url'), { forceNew: true }); - - io.on('connect', function () { - done(); - }); - - io.on('error', function (err) { + helpers.connectSocketIO(res, function (err, _io) { + io = _io; + assert.ifError(err); done(err); }); }); diff --git a/test/template-helpers.js b/test/template-helpers.js index a3816f3d50..eb145e98a8 100644 --- a/test/template-helpers.js +++ b/test/template-helpers.js @@ -1,6 +1,6 @@ 'use strict'; -var async = require('async'); +var nconf = require('nconf'); var assert = require('assert'); var db = require('./mocks/databasemock'); @@ -87,7 +87,7 @@ describe('helpers', function () { ], }; var html = helpers.generateChildrenCategories(category); - assert.equal(html, 'children '); + assert.equal(html, 'children '); done(); }); diff --git a/test/uploads.js b/test/uploads.js index 0c4ca8d1d6..624b1c25b7 100644 --- a/test/uploads.js +++ b/test/uploads.js @@ -71,7 +71,7 @@ describe('Upload Controllers', function () { assert.equal(res.statusCode, 200); assert(Array.isArray(body)); assert.equal(body.length, 1); - assert.equal(body[0].url, '/assets/uploads/profile/' + regularUid + '-profileavatar.png'); + assert.equal(body[0].url, nconf.get('relative_path') + '/assets/uploads/profile/' + regularUid + '-profileavatar.png'); done(); }); }); @@ -165,7 +165,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/assets/uploads/system/site-logo.png'); + assert.equal(body[0].url, nconf.get('relative_path') + '/assets/uploads/system/site-logo.png'); done(); }); }); @@ -175,7 +175,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/assets/uploads/category/category-1.png'); + assert.equal(body[0].url, nconf.get('relative_path') + '/assets/uploads/category/category-1.png'); done(); }); }); diff --git a/test/user.js b/test/user.js index 00794b3d0e..468ab9b0b4 100644 --- a/test/user.js +++ b/test/user.js @@ -522,7 +522,7 @@ describe('User', function () { }; User.uploadPicture(uid, picture, function (err, uploadedPicture) { assert.ifError(err); - assert.equal(uploadedPicture.url, '/assets/uploads/profile/' + uid + '-profileavatar.png'); + assert.equal(uploadedPicture.url, nconf.get('relative_path') + '/assets/uploads/profile/' + uid + '-profileavatar.png'); assert.equal(uploadedPicture.path, path.join(nconf.get('base_dir'), 'public', 'uploads', 'profile', uid + '-profileavatar.png')); done(); });