rewards test
parent
9f67142786
commit
4bbf517af3
@ -0,0 +1,86 @@
|
||||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var async = require('async');
|
||||
|
||||
var db = require('./mocks/databasemock');
|
||||
var meta = require('../src/meta');
|
||||
var User = require('../src/user');
|
||||
var Groups = require('../src/groups');
|
||||
|
||||
describe('rewards', function () {
|
||||
var adminUid;
|
||||
var bazUid;
|
||||
var herpUid;
|
||||
|
||||
before(function (done) {
|
||||
Groups.resetCache();
|
||||
// Create 3 users: 1 admin, 2 regular
|
||||
async.series([
|
||||
async.apply(User.create, { username: 'foo', password: 'barbar' }),
|
||||
async.apply(User.create, { username: 'baz', password: 'quuxquux' }),
|
||||
async.apply(User.create, { username: 'herp', password: 'derpderp' })
|
||||
], function (err, uids) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
adminUid = uids[0];
|
||||
bazUid = uids[1];
|
||||
herpUid = uids[2];
|
||||
|
||||
async.series([
|
||||
function (next) {
|
||||
Groups.join('administrators', adminUid, done);
|
||||
},
|
||||
function (next) {
|
||||
Groups.join('rewardGroup', adminUid, done);
|
||||
}
|
||||
], done);
|
||||
});
|
||||
});
|
||||
|
||||
describe('rewards create', function () {
|
||||
var socketAdmin = require('../src/socket.io/admin');
|
||||
var rewards = require('../src/rewards');
|
||||
it('it should save a reward', function (done) {
|
||||
var data = [
|
||||
{
|
||||
rewards: { groupname: 'Gamers' },
|
||||
condition: 'essentials/user.postcount',
|
||||
conditional: 'greaterthan',
|
||||
value: '10',
|
||||
rid: 'essentials/add-to-group',
|
||||
claimable: '1',
|
||||
id: '',
|
||||
disabled: false
|
||||
}
|
||||
];
|
||||
|
||||
socketAdmin.rewards.save({uid: adminUid}, data, function (err) {
|
||||
assert.ifError(err);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should check condition', function (done) {
|
||||
function method(next) {
|
||||
next(null, 1);
|
||||
}
|
||||
rewards.checkConditionAndRewardUser(adminUid, 'essentials/user.postcount', method, function (err, data) {
|
||||
assert.ifError(err);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
after(function (done) {
|
||||
db.emptydb(done);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue