From 98b3a42eacfeb84e820d31b20fb5d1cdf95fad80 Mon Sep 17 00:00:00 2001 From: alsotang Date: Sat, 27 Sep 2014 17:51:30 +0800 Subject: [PATCH] modified: common/message.js new file: test/common/message.test.js --- common/message.js | 63 ++------------------------------- test/common/message.test.js | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 60 deletions(-) create mode 100644 test/common/message.test.js diff --git a/common/message.js b/common/message.js index a4a6eb2..a6bdd69 100644 --- a/common/message.js +++ b/common/message.js @@ -3,50 +3,14 @@ var Message = models.Message; var User = require('../proxy').User; var messageProxy = require('../proxy/message'); -exports.sendReplyMessage = function (master_id, author_id, topic_id, reply_id) { +exports.sendReplyMessage = function (master_id, author_id, topic_id, reply_id, callback) { var message = new Message(); message.type = 'reply'; message.master_id = master_id; message.author_id = author_id; message.topic_id = topic_id; message.reply_id = reply_id; - message.save(function (err) { - // TODO: 异常处理 - User.getUserById(master_id, function (err, master) { - // TODO: 异常处理 - if (master && master.receive_reply_mail) { - message.has_read = true; - message.save(); - messageProxy.getMessageById(message._id, function (err, msg) { - msg.reply_id = reply_id; - // TODO: 异常处理 - }); - } - }); - }); -}; - -exports.sendReply2Message = function (master_id, author_id, topic_id, reply_id) { - var message = new Message(); - message.type = 'reply2'; - message.master_id = master_id; - message.author_id = author_id; - message.topic_id = topic_id; - message.reply_id = reply_id; - message.save(function (err) { - // TODO: 异常处理 - User.getUserById(master_id, function (err, master) { - // TODO: 异常处理 - if (master && master.receive_reply_mail) { - message.has_read = true; - message.save(); - messageProxy.getMessageById(message._id, function (err, msg) { - msg.reply_id = reply_id; - // TODO: 异常处理 - }); - } - }); - }); + message.save(callback); }; exports.sendAtMessage = function (master_id, author_id, topic_id, reply_id, callback) { @@ -56,26 +20,5 @@ exports.sendAtMessage = function (master_id, author_id, topic_id, reply_id, call message.author_id = author_id; message.topic_id = topic_id; message.reply_id = reply_id; - message.save(function (err) { - // TODO: 异常处理 - User.getUserById(master_id, function (err, master) { - // TODO: 异常处理 - if (master && master.receive_at_mail) { - message.has_read = true; - message.save(); - messageProxy.getMessageById(message._id, function (err, msg) { - // TODO: 异常处理 - }); - } - }); - callback(err); - }); -}; - -exports.sendFollowMessage = function (follow_id, author_id) { - var message = new Message(); - message.type = 'follow'; - message.master_id = follow_id; - message.author_id = author_id; - message.save(); + message.save(callback); }; diff --git a/test/common/message.test.js b/test/common/message.test.js new file mode 100644 index 0000000..c3c5b9c --- /dev/null +++ b/test/common/message.test.js @@ -0,0 +1,69 @@ +var should = require('should'); +var app = require('../../app'); +var request = require('supertest')(app); +var mm = require('mm'); +var support = require('../support/support'); +var _ = require('lodash'); +var pedding = require('pedding'); +var multiline = require('multiline'); +var MessageService = require('../../common/message'); + + +describe('test/common/message.test.js', function () { + var atUser; + var author; + var topic; + var reply; + before(function (done) { + support.ready(function () { + atUser = support.normalUser; + author = support.normalUser2; + topic = support.testTopic; + reply = {}; + done(); + }); + }); + + describe('#sendReplyMessage', function () { + it('should send reply message', function (done) { + MessageService.sendReplyMessage(atUser._id, author._id, topic._id, reply._id, + function (err, msg) { + request.get('/my/messages') + .set('Cookie', support.normalUserCookie) + .expect(200, function (err, res) { + var texts = [ + author.loginname, + '回复了你的话题', + topic.title, + ]; + texts.forEach(function (text) { + res.text.should.containEql(text) + }) + done(err); + }); + }); + }); + }); + + describe('#sendAtMessage', function () { + it('should send at message', function (done) { + MessageService.sendAtMessage(atUser._id, author._id, topic._id, reply._id, + function (err, msg) { + request.get('/my/messages') + .set('Cookie', support.normalUserCookie) + .expect(200, function (err, res) { + var texts = [ + author.loginname, + '在话题', + topic.title, + '中@了你', + ]; + texts.forEach(function (text) { + res.text.should.containEql(text) + }) + done(err); + }); + }); + }); + }); +})