mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 04:25:55 +01:00
set tests
This commit is contained in:
@@ -12,6 +12,7 @@ describe('Test database', function() {
|
||||
|
||||
require('./database/keys');
|
||||
require('./database/list');
|
||||
require('./database/sets');
|
||||
|
||||
it('should not throw err', function(done) {
|
||||
var objectKey = 'testObj';
|
||||
@@ -110,78 +111,6 @@ describe('Test database', function() {
|
||||
});
|
||||
|
||||
|
||||
it('should not throw err', function(done) {
|
||||
function setAdd(callback) {
|
||||
db.setAdd('myTestSet', 15, function(err, data) {
|
||||
callback(err, {'setAdd': data});
|
||||
});
|
||||
}
|
||||
|
||||
function setRemove(callback) {
|
||||
db.setRemove('myTestSet', 15, function(err, data) {
|
||||
callback(err, {'setRemove': data});
|
||||
});
|
||||
}
|
||||
|
||||
function getSetMembers(callback) {
|
||||
db.getSetMembers('myTestSet', function(err, data) {
|
||||
callback(err, {'getSetMembers': data});
|
||||
});
|
||||
}
|
||||
|
||||
function isSetMember(callback) {
|
||||
db.isSetMember('myTestSet', 15, function(err, data) {
|
||||
callback(err, {'isSetMember': data});
|
||||
});
|
||||
}
|
||||
|
||||
function isMemberOfSets(callback) {
|
||||
db.isMemberOfSets(['doesntexist', 'myTestSet', 'nonexistingSet'], 15, function(err, data) {
|
||||
callback(err, {'isMemberOfSets': data});
|
||||
});
|
||||
}
|
||||
|
||||
function setRemoveRandom(callback) {
|
||||
db.setRemoveRandom('myTestSet', function(err, data) {
|
||||
callback(err, {'setRemoveRandom': data});
|
||||
});
|
||||
}
|
||||
|
||||
function setCount(callback) {
|
||||
db.setCount('myTestSet', function(err, data) {
|
||||
callback(err, {'setCount': data});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var setTasks = [
|
||||
getSetMembers,
|
||||
setAdd,
|
||||
setAdd,
|
||||
setAdd,
|
||||
getSetMembers,
|
||||
setRemove,
|
||||
getSetMembers,
|
||||
isSetMember,
|
||||
setAdd,
|
||||
getSetMembers,
|
||||
isSetMember,
|
||||
setRemoveRandom,
|
||||
getSetMembers,
|
||||
setCount,
|
||||
isMemberOfSets
|
||||
];
|
||||
|
||||
|
||||
require('async').series(setTasks, function(err, results) {
|
||||
assert.equal(err, null, 'error in set methods');
|
||||
assert.ok(results);
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should not throw err', function(done) {
|
||||
function sortedSetAdd(callback) {
|
||||
db.sortedSetAdd('sortedSet3', 12, 5, function(err) {
|
||||
|
||||
69
tests/database/sets.js
Normal file
69
tests/database/sets.js
Normal file
@@ -0,0 +1,69 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async'),
|
||||
assert = require('assert'),
|
||||
db = require('../mocks/databasemock');
|
||||
|
||||
describe('Set methods', function() {
|
||||
|
||||
describe('setAdd()', function() {
|
||||
it('should add to a set', function(done) {
|
||||
db.setAdd('testSet', 5, function(err) {
|
||||
assert.equal(err, null, 'db.setAdd error');
|
||||
assert.equal(arguments.length, 1, 'arguments.length error');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getSetMembers()', function() {
|
||||
it('should return an empty set', function(done) {
|
||||
db.getSetMembers('doesnotexist', function(err, set) {
|
||||
assert.equal(err, null, 'db.getSetMembers error');
|
||||
assert.equal(arguments.length, 2, 'arguments.length error');
|
||||
assert.equal(Array.isArray(set), true, 'set is not an array');
|
||||
assert.equal(set.length, 0, 'set not empty');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should return a set with one element', function(done) {
|
||||
db.getSetMembers('testSet', function(err, set) {
|
||||
assert.equal(err, null, 'db.getSetMembers error');
|
||||
assert.equal(set.length, 1, 'set is empty');
|
||||
assert.strictEqual(set[0], '5' , 'set not empty');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('setsAdd()', function() {
|
||||
it('should add to multiple sets', function(done) {
|
||||
db.setsAdd(['set1', 'set2'], 'value', function(err) {
|
||||
assert.equal(err, null, 'db.setsAdd error');
|
||||
assert.equal(arguments.length, 1, 'arguments.length error');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getSetsMembers', function() {
|
||||
it('should return members of two sets', function(done) {
|
||||
db.getSetsMembers(['set1', 'set2'], function(err, sets) {
|
||||
assert.equal(err, null, 'db.setsAdd error');
|
||||
assert.equal(Array.isArray(sets), true, 'sets is not an array');
|
||||
assert.equal(arguments.length, 2, 'arguments.length error');
|
||||
assert.equal(Array.isArray(sets[0]) && Array.isAray(sets[1]), true, 'sets not arrays');
|
||||
assert.strictEqual(sets[0][0], 'value', 'set value not correct');
|
||||
assert.strictEqual(sets[1][0], 'value', 'set value not correct');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
after(function() {
|
||||
db.flushdb();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user