post tools test

This commit is contained in:
barisusakli
2016-12-20 16:03:01 +03:00
parent a0c217446a
commit 988c485874
3 changed files with 198 additions and 139 deletions

View File

@@ -162,26 +162,68 @@ describe('Post\'s', function () {
});
});
describe('post tools', function () {
var socketPosts = require('../src/socket.io/posts');
it('should error if data is invalid', function (done) {
socketPosts.loadPostTools({uid: globalModUid}, null, function (err) {
assert.equal(err.message, '[[error:invalid-data]]');
done();
});
});
it('should load post tools', function (done) {
socketPosts.loadPostTools({uid: globalModUid}, {pid: postData.pid, cid: cid}, function (err, data) {
assert.ifError(err);
assert(data.posts.display_edit_tools);
assert(data.posts.display_delete_tools);
assert(data.posts.display_moderator_tools);
assert(data.posts.display_move_tools);
done();
});
});
});
describe('delete/restore/purge', function () {
var pid;
var tid;
var mainPid;
var replyPid;
var socketPosts = require('../src/socket.io/posts');
before(function (done) {
topics.reply({
topics.post({
uid: voterUid,
tid: topicData.tid,
timestamp: Date.now(),
content: 'A post to delete/restore and purge'
cid: cid,
title: 'topic to delete/restore/purge',
content: 'A post to delete/restore/purge'
}, function (err, data) {
assert.ifError(err);
pid = data.pid;
privileges.categories.give(['purge'], cid, 'registered-users', done);
tid = data.topicData.tid;
mainPid = data.postData.pid;
topics.reply({
uid: voterUid,
tid: topicData.tid,
timestamp: Date.now(),
content: 'A post to delete/restore and purge'
}, function (err, data) {
assert.ifError(err);
replyPid = data.pid;
privileges.categories.give(['purge'], cid, 'registered-users', done);
});
});
});
it('should error with invalid data', function (done) {
socketPosts.delete({uid: voterUid}, null, function (err) {
assert.equal(err.message, '[[error:invalid-data]]');
done();
});
});
it('should delete a post', function (done) {
socketPosts.delete({uid: voterUid}, {pid: pid, tid: topicData.tid}, function (err) {
socketPosts.delete({uid: voterUid}, {pid: replyPid, tid: tid}, function (err) {
assert.ifError(err);
posts.getPostField(pid, 'deleted', function (err, isDeleted) {
posts.getPostField(replyPid, 'deleted', function (err, isDeleted) {
assert.ifError(err);
assert.equal(parseInt(isDeleted, 10), 1);
done();
@@ -190,9 +232,9 @@ describe('Post\'s', function () {
});
it('should restore a post', function (done) {
socketPosts.restore({uid: voterUid}, {pid: pid, tid: topicData.tid}, function (err) {
socketPosts.restore({uid: voterUid}, {pid: replyPid, tid: tid}, function (err) {
assert.ifError(err);
posts.getPostField(pid, 'deleted', function (err, isDeleted) {
posts.getPostField(replyPid, 'deleted', function (err, isDeleted) {
assert.ifError(err);
assert.equal(parseInt(isDeleted, 10), 0);
done();
@@ -200,16 +242,31 @@ describe('Post\'s', function () {
});
});
it('should purge a post', function (done) {
socketPosts.purge({uid: voterUid}, {pid: pid}, function (err) {
it('should delete posts and topic', function (done) {
socketPosts.deletePosts({uid: globalModUid}, {pids: [replyPid, mainPid], tid: tid}, function (err) {
assert.ifError(err);
posts.exists('post:' + pid, function (err, exists) {
topics.getTopicField(tid, 'deleted', function (err, deleted) {
assert.ifError(err);
assert.equal(exists, false);
assert.equal(parseInt(deleted, 10), 1);
done();
});
});
});
it('should purge posts', function (done) {
var socketTopics = require('../src/socket.io/topics');
socketTopics.restore({uid: globalModUid}, {tids: [tid], cid: cid}, function (err) {
assert.ifError(err);
socketPosts.purgePosts({uid: voterUid}, {pids: [replyPid, mainPid], tid: tid}, function (err) {
assert.ifError(err);
posts.exists('post:' + replyPid, function (err, exists) {
assert.ifError(err);
assert.equal(exists, false);
done();
});
});
});
});
});
describe('edit', function () {