mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-23 17:00:24 +01:00
feat: update unban logic/invocation and refactor User.bans module
* auto unban when User.getUsersFields is called and the user is banned but has expired * cleanups and removal of expiry_readable * expiry_readable make an alias for backward compatibility * User.bans.func vs User.*ban*Func * console.log cleanups, plus todo message added * use code util.deprecate * fix: remove ununsed winston require
This commit is contained in:
@@ -8,6 +8,7 @@ var async = require('async');
|
||||
|
||||
var db = require('./mocks/databasemock');
|
||||
var user = require('../src/user');
|
||||
var utils = require('../src/utils');
|
||||
var meta = require('../src/meta');
|
||||
var privileges = require('../src/privileges');
|
||||
var helpers = require('./helpers');
|
||||
@@ -456,21 +457,21 @@ describe('authentication', function () {
|
||||
it('should prevent banned user from logging in', function (done) {
|
||||
user.create({ username: 'banme', password: '123456', email: 'ban@me.com' }, function (err, uid) {
|
||||
assert.ifError(err);
|
||||
user.ban(uid, 0, 'spammer', function (err) {
|
||||
user.bans.ban(uid, 0, 'spammer', function (err) {
|
||||
assert.ifError(err);
|
||||
loginUser('banme', '123456', function (err, res, body) {
|
||||
assert.ifError(err);
|
||||
assert.equal(res.statusCode, 403);
|
||||
assert.equal(body, '[[error:user-banned-reason, spammer]]');
|
||||
user.unban(uid, function (err) {
|
||||
user.bans.unban(uid, function (err) {
|
||||
assert.ifError(err);
|
||||
var expiry = Date.now() + 10000;
|
||||
user.ban(uid, expiry, '', function (err) {
|
||||
user.bans.ban(uid, expiry, '', function (err) {
|
||||
assert.ifError(err);
|
||||
loginUser('banme', '123456', function (err, res, body) {
|
||||
assert.ifError(err);
|
||||
assert.equal(res.statusCode, 403);
|
||||
assert.equal(body, '[[error:user-banned-reason-until, ' + (new Date(parseInt(expiry, 10)).toString()) + ', No reason given.]]');
|
||||
assert.equal(body, '[[error:user-banned-reason-until, ' + utils.toISOString(expiry) + ', No reason given.]]');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user