/// /// /// import * as TypeMoq from "typemoq"; import * as assert from "assert"; import {SocketHandler} from "../../lib/core/socket-handler"; import {Socket} from "net"; import {Global} from "../../lib/core/global"; describe("SocketHandlerTest", function() { describe("Send", function() { it("Sends Simple Payload", function(done) { let mockSocket: TypeMoq.Mock = TypeMoq.Mock.ofType(Socket); mockSocket.setup(s => s.on(TypeMoq.It.isAnyString(), TypeMoq.It.isAny())); let socketHandler = new SocketHandler(mockSocket.object, function(message: string) { assert.equal("TEST", message); done(); }); socketHandler.onDataCallback(Buffer.from("TEST" + Global.MessageDelimiter)); }); it("Sends Multiple Payloads At Once", function(done) { let mockSocket: TypeMoq.Mock = TypeMoq.Mock.ofType(Socket); mockSocket.setup(s => s.on(TypeMoq.It.isAnyString(), TypeMoq.It.isAny())); let count = 0; let socketHandler = new SocketHandler(mockSocket.object, function(message: string) { count++; if (count === 1) { assert.equal("TEST", message); } else { assert.equal("TEST2", message); done(); } }); socketHandler.onDataCallback(Buffer.from("TEST" + Global.MessageDelimiter + "TEST2" + Global.MessageDelimiter)); }); it("Sends Incomplete Payload", function(done) { let mockSocket: TypeMoq.Mock = TypeMoq.Mock.ofType(Socket); mockSocket.setup(s => s.on(TypeMoq.It.isAnyString(), TypeMoq.It.isAny())); let socketHandler = new SocketHandler(mockSocket.object, function(message: string) { assert.equal("TEST", message); done(); }); socketHandler.onDataCallback(Buffer.from("TEST")); socketHandler.onDataCallback(Buffer.from(Global.MessageDelimiter)); }); }); });