[Groonga-commit] groonga/express-kotoumi [master] test: Add test for cusotm eresponse event type on Socket.IO API

Back to archive index

YUKI Hiroshi null+****@clear*****
Wed Feb 6 17:53:11 JST 2013


YUKI Hiroshi	2013-02-06 17:53:11 +0900 (Wed, 06 Feb 2013)

  New Revision: bd029f0a63cef963386b5818f460dfddda273a2d
  https://github.com/groonga/express-kotoumi/commit/bd029f0a63cef963386b5818f460dfddda273a2d

  Log:
    test: Add test for cusotm eresponse event type on Socket.IO API

  Modified files:
    test/frontend-socket.io-adaptor.test.js

  Modified: test/frontend-socket.io-adaptor.test.js (+48 -1)
===================================================================
--- test/frontend-socket.io-adaptor.test.js    2013-02-06 17:42:49 +0900 (c96e9a9)
+++ test/frontend-socket.io-adaptor.test.js    2013-02-06 17:53:11 +0900 (dec9191)
@@ -204,7 +204,7 @@ suite('Socket.IO API', function() {
       responseBuilder: function() { return 'builder response' }
     },
     'customevent': {
-      resoonseEvent: 'custom',
+      responseEvent: 'custom',
       responseBuilder: function() { return 'custom response' }
     }
   };
@@ -286,5 +286,52 @@ suite('Socket.IO API', function() {
         done(error);
       });
   });
+
+  test('front to back, extra command (custom event name)', function(done) {
+    var extraController = {};
+    connection = utils.createMockedBackendConnection()
+      .mock('emitMessage')
+        .takes('customevent', { requestMessage: true });
+
+    var mockedReceiver = nodemock
+          .mock('receive')
+            .takes({ responseMessage: true });
+
+    var application = express();
+    utils.setupServer(application)
+      .next(function(newServer) {
+        server = newServer;
+        socketIoAdaptor.register(application, server, {
+          connection: connection,
+          plugins: [testPlugin]
+        });
+
+        return utils.createClientSocket();
+      })
+      .next(function(newClientSocket) {
+        clientSocket = newClientSocket;
+        clientSocket.on('custom', function(data) {
+          mockedReceiver.receive(data);
+        });
+        clientSocket.emit('customevent', { requestMessage: true });
+      })
+      .wait(0.01)
+      .next(function() {
+        connection.assertThrows();
+        connection.controllers.message.trigger({
+          statusCode: 200,
+          type: 'customevent.result',
+          body: { responseMessage: true }
+        });
+      })
+      .wait(0.01)
+      .next(function() {
+        mockedReceiver.assertThrows();
+        done();
+      })
+      .error(function(error) {
+        done(error);
+      });
+  });
 });
 
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index