diff --git a/src/controllers/accounts/blocks.js b/src/controllers/accounts/blocks.js index f37590ca53..527923797f 100644 --- a/src/controllers/accounts/blocks.js +++ b/src/controllers/accounts/blocks.js @@ -8,7 +8,7 @@ var pagination = require('../../pagination'); var user = require('../../user'); var plugins = require('../../plugins'); -var blocksController = {}; +var blocksController = module.exports; blocksController.getBlocks = function (req, res, callback) { var userData; @@ -41,20 +41,15 @@ blocksController.getBlocks = function (req, res, callback) { function (data, next) { user.getUsers(data.uids, res.locals.uid, next); }, - ], function (err, users) { - if (err) { - return callback(err); - } - - userData.users = users; - userData.title = '[[pages:account/blocks, ' + userData.username + ']]'; - var count = userData.blocksCount; - var pageCount = Math.ceil(count / resultsPerPage); - userData.pagination = pagination.create(page, pageCount); - userData.breadcrumbs = helpers.buildBreadcrumbs([{ text: userData.username, url: '/user/' + userData.userslug }, { text: '[[user:blocks]]' }]); - - res.render('account/blocks', userData); - }); + function (users) { + userData.users = users; + userData.title = '[[pages:account/blocks, ' + userData.username + ']]'; + var count = userData.blocksCount; + var pageCount = Math.ceil(count / resultsPerPage); + userData.pagination = pagination.create(page, pageCount); + userData.breadcrumbs = helpers.buildBreadcrumbs([{ text: userData.username, url: '/user/' + userData.userslug }, { text: '[[user:blocks]]' }]); + + res.render('account/blocks', userData); + }, + ], callback); }; - -module.exports = blocksController; diff --git a/src/controllers/accounts/consent.js b/src/controllers/accounts/consent.js index e5204ce448..0ea9e7e47c 100644 --- a/src/controllers/accounts/consent.js +++ b/src/controllers/accounts/consent.js @@ -7,7 +7,7 @@ var meta = require('../../meta'); var helpers = require('../helpers'); var accountHelpers = require('./helpers'); -var consentController = {}; +var consentController = module.exports; consentController.get = function (req, res, next) { var userData; @@ -23,31 +23,19 @@ consentController.get = function (req, res, next) { } // Direct database call is used here because `gdpr_consent` is a protected user field and is automatically scrubbed from standard user data retrieval calls - db.getObjectField('user:' + userData.uid, 'gdpr_consent', function (err, consented) { - if (err) { - return next(err); - } - - userData.gdpr_consent = !!parseInt(consented, 10); - - next(null, userData); - }); + db.getObjectField('user:' + userData.uid, 'gdpr_consent', next); }, - ], function (err, userData) { - if (err) { - return next(err); - } - - userData.digest = { - frequency: meta.config.dailyDigestFreq, - enabled: meta.config.dailyDigestFreq !== 'off', - }; + function (consented) { + userData.gdpr_consent = parseInt(consented, 10) === 1; + userData.digest = { + frequency: meta.config.dailyDigestFreq, + enabled: meta.config.dailyDigestFreq !== 'off', + }; - userData.title = '[[user:consent.title]]'; - userData.breadcrumbs = helpers.buildBreadcrumbs([{ text: userData.username, url: '/user/' + userData.userslug }, { text: '[[user:consent.title]]' }]); + userData.title = '[[user:consent.title]]'; + userData.breadcrumbs = helpers.buildBreadcrumbs([{ text: userData.username, url: '/user/' + userData.userslug }, { text: '[[user:consent.title]]' }]); - res.render('account/consent', userData); - }); + res.render('account/consent', userData); + }, + ], next); }; - -module.exports = consentController; diff --git a/test/controllers-admin.js b/test/controllers-admin.js index a04167d2f0..24da882cbe 100644 --- a/test/controllers-admin.js +++ b/test/controllers-admin.js @@ -101,6 +101,32 @@ describe('Admin Controllers', function () { }); }); + it('should load global privileges page', function (done) { + request(nconf.get('url') + '/admin/manage/privileges', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); + + it('should load privileges page for category 1', function (done) { + request(nconf.get('url') + '/admin/manage/privileges/1', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); + + it('should load manage uploads', function (done) { + request(nconf.get('url') + '/admin/manage/uploads', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); it('should load general settings page', function (done) { request(nconf.get('url') + '/admin/settings', { jar: jar }, function (err, res, body) { diff --git a/test/controllers.js b/test/controllers.js index 2a8a70d589..794aba05e2 100644 --- a/test/controllers.js +++ b/test/controllers.js @@ -1133,6 +1133,33 @@ describe('Controllers', function () { }); }); + it('should load /user/foo/blocks', function (done) { + request(nconf.get('url') + '/api/user/foo/blocks', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); + + it('should load /user/foo/consent', function (done) { + request(nconf.get('url') + '/api/user/foo/consent', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); + + it('should load /user/foo/uploads', function (done) { + request(nconf.get('url') + '/api/user/foo/uploads', { jar: jar }, function (err, res, body) { + assert.ifError(err); + assert.equal(res.statusCode, 200); + assert(body); + done(); + }); + }); + it('should load notifications page', function (done) { var notifications = require('../src/notifications'); var notifData = {