modified: common/message.js

new file:   test/common/message.test.js
This commit is contained in:
alsotang 2014-09-27 17:51:30 +08:00
parent 64a105f0e1
commit 98b3a42eac
2 changed files with 72 additions and 60 deletions

View File

@ -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);
};

View File

@ -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);
});
});
});
});
})