YUKI Hiroshi
null+****@clear*****
Thu Jan 10 18:59:33 JST 2013
YUKI Hiroshi 2013-01-10 18:59:33 +0900 (Thu, 10 Jan 2013) New Revision: 531ec37177a8e83eb397ed4332b0ae3f3c420fab https://github.com/groonga/express-kotoumi/commit/531ec37177a8e83eb397ed4332b0ae3f3c420fab Log: Test callback for a response via message handler internally defined by the connection itself Modified files: test/backend-adaptor.test.js Modified: test/backend-adaptor.test.js (+16 -12) =================================================================== --- test/backend-adaptor.test.js 2013-01-10 18:51:29 +0900 (67226d9) +++ test/backend-adaptor.test.js 2013-01-10 18:59:33 +0900 (a66a510) @@ -22,6 +22,7 @@ function createMockedReceiver() { var mockedSockets; var mockedReceiverInternal = nodemock; var connactionCallbackController = {}; + var messageCallbackController = {}; var receiver = { // mocking receiver sockets: @@ -34,18 +35,13 @@ function createMockedReceiver() { triggerConnect: function(tag) { mockedSockets.assertThrows(); var mockedSocket = nodemock.mock('on') - .takes(tag + '.message', function() {}); + .takes(tag + '.message', function() {}) + .ctrl(1, messageCallbackController); connactionCallbackController.trigger(mockedSocket); mockedSocket.assertThrows(); }, - takes: function(message) { - this.assert = function() { - mockedReceiverInternal.assertThrows(); - }; - mockedReceiverInternal = mockedReceiverInternal - .mock('emit') - .takes(message); - return mockedReceiverInternal; + emitMessage: function(message) { // simulate message from backend + messageCallbackController.trigger(message); } }; return receiver; @@ -150,12 +146,20 @@ suite('Connection', function() { body: { command: 'foobar' } }); sender.assertSent('message', message); - callback.takes({ response: true }); - connection.emit('replyTo:' + message.id, { response: true }); + var now = new Date(); + var response = { + id: now.getTime(), + date: now.toISOString(), + replyTo: message.id, + statusCode: 200, + body: { response: true } + }; + callback.takes(response); + receiver.emitMessage(response); callback.assert(); // Secondary and later messages are ignored. - connection.emit('replyTo:' + message.id, { response: true }); + receiver.emitMessage(response); callback.assert(); }); }); -------------- next part -------------- HTML����������������������������...Download