UNPKG

@stoqey/ib

Version:

Interactive Brokers TWS/IB Gateway API client library for Node.js (TS)

70 lines 2.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const api_1 = require("../../../api/api"); const event_name_1 = require("../../../api/data/enum/event-name"); const configuration_1 = __importDefault(require("../../../common/configuration")); describe("IBApi connection Tests", () => { jest.setTimeout(5 * 1000); let ib; const clientId = Math.floor(Math.random() * 32766) + 1; // ensure unique client beforeEach(() => { ib = new api_1.IBApi({ host: configuration_1.default.ib_host, port: configuration_1.default.ib_port, clientId, }); // logger.info("IBApi created"); }); afterEach(() => { if (ib) { ib.disconnect(); ib = undefined; } // logger.info("IBApi disconnected"); }); test("Connect", (done) => { // logger.info("Starting Connect"); ib.on(event_name_1.EventName.connected, () => { done(); }).on(event_name_1.EventName.error, (err, code, reqId) => { done(`[${reqId}] ${err.message} (#${code})`); }); ib.connect(); }); test("Disconnect", (done) => { // logger.info("Starting Disconnect"); ib.on(event_name_1.EventName.connected, () => { ib.disconnect(); ib = undefined; }) .on(event_name_1.EventName.disconnected, () => { done(); }) .on(event_name_1.EventName.error, (err, code, reqId) => { done(`[${reqId}] ${err.message} (#${code})`); }); ib.connect(); }); test("Connect / disconnect", (done) => { // logger.info("Starting (Dis)Connect"); ib.on(event_name_1.EventName.connected, () => { ib.reqCurrentTime(); }) .on(event_name_1.EventName.currentTime, (time) => { expect(time).toBeTruthy(); if (ib) ib.disconnect(); }) .on(event_name_1.EventName.disconnected, () => { done(); }) .on(event_name_1.EventName.error, (err, code, reqId) => { done(`[${reqId}] ${err.message} (#${code})`); }); ib.connect(); }); }); //# sourceMappingURL=connect.test.js.map