changes to leaveAllGroups

Groups.destroy can take an array of groupnames
Groups.leave can take an array of groupnames
db.incrObjectField/decrObjectField can take an array of keys
db.sortedSetRemove can take an array of keys and values
db.setRemove can take an array of keys
This commit is contained in:
Barış Soner Uşaklı
2018-03-17 18:49:33 -04:00
parent ed3dd1cc25
commit 6a9a73c86c
13 changed files with 266 additions and 81 deletions

View File

@@ -406,6 +406,15 @@ describe('Hash methods', function () {
done();
});
});
it('should decrement multiple objects field by 1 and return an array of new values', function (done) {
db.decrObjectField(['testObject13', 'testObject14'], 'age', function (err, data) {
assert.ifError(err);
assert.equal(data[0], 97);
assert.equal(data[1], -1);
done();
});
});
});
describe('incrObjectFieldBy()', function () {

View File

@@ -203,6 +203,27 @@ describe('Set methods', function () {
});
});
});
it('should remove multiple values from multiple keys', function (done) {
db.setAdd('multiSetTest1', ['one', 'two', 'three', 'four'], function (err) {
assert.ifError(err);
db.setAdd('multiSetTest2', ['three', 'four', 'five', 'six'], function (err) {
assert.ifError(err);
db.setRemove(['multiSetTest1', 'multiSetTest2'], ['three', 'four', 'five', 'doesnt exist'], function (err) {
assert.ifError(err);
db.getSetsMembers(['multiSetTest1', 'multiSetTest2'], function (err, members) {
assert.ifError(err);
assert.equal(members[0].length, 2);
assert.equal(members[1].length, 1);
assert(members[0].includes('one'));
assert(members[0].includes('two'));
assert(members[1].includes('six'));
done();
});
});
});
});
});
});
describe('setsRemove()', function () {

View File

@@ -642,6 +642,42 @@ describe('Sorted Set methods', function () {
});
});
});
it('should remove multiple values from multiple keys', function (done) {
db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], function (err) {
assert.ifError(err);
db.sortedSetAdd('multiTest2', [3, 4, 5, 6], ['three', 'four', 'five', 'six'], function (err) {
assert.ifError(err);
db.sortedSetRemove(['multiTest1', 'multiTest2'], ['two', 'three', 'four', 'five', 'doesnt exist'], function (err) {
assert.ifError(err);
db.getSortedSetsMembers(['multiTest1', 'multiTest2'], function (err, members) {
assert.ifError(err);
assert.equal(members[0].length, 1);
assert.equal(members[1].length, 1);
assert.deepEqual(members, [['one'], ['six']]);
done();
});
});
});
});
});
it('should remove value from multiple keys', function (done) {
db.sortedSetAdd('multiTest3', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], function (err) {
assert.ifError(err);
db.sortedSetAdd('multiTest4', [3, 4, 5, 6], ['three', 'four', 'five', 'six'], function (err) {
assert.ifError(err);
db.sortedSetRemove(['multiTest3', 'multiTest4'], 'three', function (err) {
assert.ifError(err);
db.getSortedSetsMembers(['multiTest3', 'multiTest4'], function (err, members) {
assert.ifError(err);
assert.deepEqual(members, [['one', 'two', 'four'], ['four', 'five', 'six']]);
done();
});
});
});
});
});
});
describe('sortedSetsRemove()', function () {