added test file for categories (incomplete)

re: issue #391
v1.18.x
Julian Lam 11 years ago
parent 5d48ed5fb4
commit 13d8f51f6a

@ -9,6 +9,9 @@
"url": "https://github.com/designcreateplay/NodeBB/"
},
"main": "app.js",
"scripts": {
"test": "mocha ./tests"
},
"dependencies": {
"socket.io": "~0.9.16",
"redis": "0.8.3",
@ -44,6 +47,9 @@
"optionalDependencies": {
"hiredis": "~0.1.15"
},
"devDependencies": {
"mocha": "~1.13.0"
},
"bugs": {
"url": "https://github.com/designcreateplay/NodeBB/issues"
},

@ -0,0 +1,54 @@
var assert = require('assert'),
RDB = require('../src/redis'),
Categories = require('../src/categories');
describe('Categories', function() {
var categoryObj;
describe('.create', function() {
it('should create a new category', function(done) {
Categories.create({
name: 'Test Category',
description: 'Test category created by testing script',
icon: 'icon-ok',
blockclass: 'category-blue',
order: '5'
}, function(err, category) {
categoryObj = category;
done.apply(arguments);
});
});
});
describe('.getCategoryById', function() {
it('should retrieve a newly created category by its ID', function(done) {
Categories.getCategoryById(categoryObj.cid, 0, function(err, categoryData) {
assert(categoryData);
assert.equal(categoryObj.name, categoryData.category_name);
assert.equal(categoryObj.description, categoryData.category_description);
done();
});
});
});
describe('.getCategoryTopics', function() {
it('should return a list of topics', function(done) {
Categories.getCategoryTopics(categoryObj.cid, 0, 10, 0, function(topics) {
assert(Array.isArray(topics));
assert(topics.every(function(topic) {
return topic instanceof Object;
}));
done();
});
});
});
after(function() {
RDB.multi()
.del('category:'+categoryObj.cid)
.rpop('categories:cid')
.exec();
});
});
Loading…
Cancel
Save