mirror of
https://github.com/cnodejs/nodeclub.git
synced 2025-12-08 19:55:55 +00:00
modified: common/message.js
new file: test/common/message.test.js
This commit is contained in:
parent
64a105f0e1
commit
98b3a42eac
@ -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);
|
||||
};
|
||||
|
||||
69
test/common/message.test.js
Normal file
69
test/common/message.test.js
Normal 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);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user