From 3efc49dd72250ab8a6eb853c5140529a461f1fbf Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 29 Dec 2014 17:55:30 -0500 Subject: [PATCH] set tests --- tests/database.js | 73 +----------------------------------------- tests/database/sets.js | 69 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 72 deletions(-) create mode 100644 tests/database/sets.js diff --git a/tests/database.js b/tests/database.js index e4fa823959..45379fc9b3 100644 --- a/tests/database.js +++ b/tests/database.js @@ -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) { diff --git a/tests/database/sets.js b/tests/database/sets.js new file mode 100644 index 0000000000..78e3de89fb --- /dev/null +++ b/tests/database/sets.js @@ -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(); + }); +});