|
|
|
@ -57,6 +57,10 @@ describe('Groups', function () {
|
|
|
|
|
// Also create a hidden group
|
|
|
|
|
Groups.join('Hidden', 'Test', next);
|
|
|
|
|
},
|
|
|
|
|
function (next) {
|
|
|
|
|
// create another group that starts with test for search/sort
|
|
|
|
|
Groups.create({ name: 'Test2', description: 'Foobar!' }, next);
|
|
|
|
|
},
|
|
|
|
|
], function (err, results) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
testUid = results[3];
|
|
|
|
@ -69,7 +73,7 @@ describe('Groups', function () {
|
|
|
|
|
it('should list the groups present', function (done) {
|
|
|
|
|
Groups.getGroupsFromSet('groups:createtime', 0, 0, -1, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(groups.length, 6);
|
|
|
|
|
assert.equal(groups.length, 7);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
@ -98,10 +102,18 @@ describe('Groups', function () {
|
|
|
|
|
describe('.search()', function () {
|
|
|
|
|
var socketGroups = require('../src/socket.io/groups');
|
|
|
|
|
|
|
|
|
|
it('should return empty array if query is falsy', function (done) {
|
|
|
|
|
Groups.search(null, {}, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(0, groups.length);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should return the groups when search query is empty', function (done) {
|
|
|
|
|
socketGroups.search({ uid: adminUid }, { query: '' }, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(3, groups.length);
|
|
|
|
|
assert.equal(4, groups.length);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
@ -109,7 +121,7 @@ describe('Groups', function () {
|
|
|
|
|
it('should return the "Test" group when searched for', function (done) {
|
|
|
|
|
socketGroups.search({ uid: adminUid }, { query: 'test' }, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(1, groups.length);
|
|
|
|
|
assert.equal(2, groups.length);
|
|
|
|
|
assert.strictEqual('Test', groups[0].name);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
@ -118,7 +130,7 @@ describe('Groups', function () {
|
|
|
|
|
it('should return the "Test" group when searched for and sort by member count', function (done) {
|
|
|
|
|
Groups.search('test', { filterHidden: true, sort: 'count' }, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(1, groups.length);
|
|
|
|
|
assert.equal(2, groups.length);
|
|
|
|
|
assert.strictEqual('Test', groups[0].name);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
@ -127,25 +139,37 @@ describe('Groups', function () {
|
|
|
|
|
it('should return the "Test" group when searched for and sort by creation time', function (done) {
|
|
|
|
|
Groups.search('test', { filterHidden: true, sort: 'date' }, function (err, groups) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(1, groups.length);
|
|
|
|
|
assert.strictEqual('Test', groups[0].name);
|
|
|
|
|
assert.equal(2, groups.length);
|
|
|
|
|
assert.strictEqual('Test', groups[1].name);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should return all users if no query', function (done) {
|
|
|
|
|
User.create({
|
|
|
|
|
username: 'newuser',
|
|
|
|
|
email: 'newuser@b.com',
|
|
|
|
|
}, function (err, uid) {
|
|
|
|
|
function createAndJoinGroup(username, email, callback) {
|
|
|
|
|
async.waterfall([
|
|
|
|
|
function (next) {
|
|
|
|
|
User.create({ username: username, email: email }, next);
|
|
|
|
|
},
|
|
|
|
|
function (uid, next) {
|
|
|
|
|
Groups.join('Test', uid, next);
|
|
|
|
|
},
|
|
|
|
|
], callback);
|
|
|
|
|
}
|
|
|
|
|
async.series([
|
|
|
|
|
function (next) {
|
|
|
|
|
createAndJoinGroup('newuser', 'newuser@b.com', next);
|
|
|
|
|
},
|
|
|
|
|
function (next) {
|
|
|
|
|
createAndJoinGroup('bob', 'bob@b.com', next);
|
|
|
|
|
},
|
|
|
|
|
], function (err) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
Groups.join('Test', uid, function (err) {
|
|
|
|
|
|
|
|
|
|
socketGroups.searchMembers({ uid: adminUid }, { groupName: 'Test', query: '' }, function (err, data) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
socketGroups.searchMembers({ uid: adminUid }, { groupName: 'Test', query: '' }, function (err, data) {
|
|
|
|
|
assert.ifError(err);
|
|
|
|
|
assert.equal(data.users.length, 2);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
assert.equal(data.users.length, 3);
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|