UNPKG

jspurefix

Version:
111 lines 5.38 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); const encoder_test_1 = require("../env/encoder-test"); const quickfix_1 = require("../../types/FIX.5.0SP2/quickfix"); const types_1 = require("../../types"); const helper_fn_tst_1 = require("../env/helper-fn.tst"); const encoderTester = new encoder_test_1.EncoderTest(); beforeAll(() => __awaiter(void 0, void 0, void 0, function* () { yield encoderTester.init('session/test-qf50sp2-initiator.json'); }), 45000); test('expect a definition ', () => { expect(encoderTester.nos).toBeTruthy(); }); function getInstrument() { return { Symbol: 'EUR=,', SymbolSfx: 'non', SecurityID: 'Pellentesque', SecurityIDSource: quickfix_1.SecurityIDSource.ExchangeSymbol, Product: 2, StreamGrp: { NoStreams: [ { StreamCurrency: 'EUR=', PaymentStream: { PaymentStreamFlatRateIndicator: false, PaymentStreamFloatingRate: { PaymentStreamRateIndex: '.IND1', ReturnRateGrp: { NoReturnRates: [ { ReturnRateQuoteMethod: 0, ReturnRatePriceGrp: { NoReturnRatePrices: [ { ReturnRatePrice: 100.0, ReturnRatePriceBasis: 2, ReturnRatePriceCurrency: 'EUR=', ReturnRatePriceType: quickfix_1.ReturnRatePriceType.PercentageOfNotional } ] } } ] } } } }, { StreamCurrency: 'GBP=', PaymentStream: { PaymentStreamFlatRateIndicator: false, PaymentStreamFloatingRate: { PaymentStreamRateIndex: '.IND2', ReturnRateGrp: { NoReturnRates: [ { ReturnRateQuoteMethod: 0, ReturnRatePriceGrp: { NoReturnRatePrices: [ { ReturnRatePrice: 120.0, ReturnRatePriceBasis: 1, ReturnRatePriceCurrency: 'GBP=', ReturnRatePriceType: quickfix_1.ReturnRatePriceType.PercentageOfNotional } ] } } ] } } } } ] } }; } function getExecReport() { return { OrderID: 'o1', ExecID: 'o1-e1', ExecType: quickfix_1.ExecType.New, Side: quickfix_1.Side.Buy, OrdStatus: quickfix_1.OrdStatus.New, LeavesQty: 1000, CumQty: 0, Instrument: getInstrument() }; } test('encode exec report', () => { expect(encoderTester.er).toBeTruthy(); const e = getExecReport(); expect(encoderTester.toFix(e, encoderTester.er)).toEqual('37=o1|17=o1-e1|150=0|39=0|55=EUR=,|65=non|48=Pellentesque|22=8|460=2|40049=2|40055=EUR=|41180=N|40789=.IND1|42735=1|42765=1|42766=2|42767=100|42768=EUR=|42769=1|42745=0|40055=GBP=|41180=N|40789=.IND2|42735=1|42765=1|42766=1|42767=120|42768=GBP=|42769=1|42745=0|54=1|151=1000|14=0|'); }); test('test exec report inc snapshot JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () { const msg = getExecReport(); const msgType = types_1.MsgType.ExecutionReport; yield expect((0, helper_fn_tst_1.testEncodeDecode)(encoderTester.session.config, msgType, msg)).resolves.toEqual(msg); }), 1000); //# sourceMappingURL=qf-50sp2-encoder.test.js.map