jspurefix
Version:
pure node js fix engine
170 lines • 11 kB
JavaScript
;
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 path = require("path");
const util_1 = require("../../util");
const contained_1 = require("../../dictionary/contained");
const set_constraint_helper_1 = require("../env/set-constraint-helper");
const root = path.join(__dirname, '../../../data');
let definitions;
let setHelper;
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
var _a, _b;
const sessionDescription = require(path.join(root, 'session/test-initiator.json'));
definitions = yield new util_1.DefinitionFactory().getDefinitions((_b = (_a = sessionDescription === null || sessionDescription === void 0 ? void 0 : sessionDescription.application) === null || _a === void 0 ? void 0 : _a.dictionary) !== null && _b !== void 0 ? _b : '');
setHelper = new set_constraint_helper_1.SetConstraintHelper(definitions);
}), 45000);
test('field check tag 1', () => {
const simple = definitions.simple.get('1');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(1);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('Account');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('string');
});
test('field check tag 15', () => {
const simple = definitions.simple.get('15');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(15);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('Currency');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('string');
});
test('field check tag 35', () => {
var _a, _b, _c;
const simple = definitions.simple.get('35');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(35);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('MsgType');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('string');
expect(simple === null || simple === void 0 ? void 0 : simple.enums).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.enums.get('ZZZ')).toBeUndefined();
expect((_a = simple === null || simple === void 0 ? void 0 : simple.enums.get('0')) === null || _a === void 0 ? void 0 : _a.val).toEqual('Heartbeat');
expect((_b = simple === null || simple === void 0 ? void 0 : simple.enums.get('8')) === null || _b === void 0 ? void 0 : _b.val).toEqual('ExecutionReport');
expect((_c = simple === null || simple === void 0 ? void 0 : simple.enums.get('AE')) === null || _c === void 0 ? void 0 : _c.val).toEqual('TradeCaptureReport');
});
test('field check tag 54', () => {
var _a, _b, _c, _d, _e, _f, _g, _h;
const simple = definitions.simple.get('54');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(54);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('Side');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('char');
expect(simple === null || simple === void 0 ? void 0 : simple.enums).toBeTruthy();
expect((_b = (_a = simple === null || simple === void 0 ? void 0 : simple.enums) === null || _a === void 0 ? void 0 : _a.get('1')) === null || _b === void 0 ? void 0 : _b.val).toEqual('Buy');
expect((_d = (_c = simple === null || simple === void 0 ? void 0 : simple.enums) === null || _c === void 0 ? void 0 : _c.get('2')) === null || _d === void 0 ? void 0 : _d.val).toEqual('Sell');
expect((_f = (_e = simple === null || simple === void 0 ? void 0 : simple.enums) === null || _e === void 0 ? void 0 : _e.get('3')) === null || _f === void 0 ? void 0 : _f.val).toEqual('BuyMinus');
expect((_h = (_g = simple === null || simple === void 0 ? void 0 : simple.enums) === null || _g === void 0 ? void 0 : _g.get('8')) === null || _h === void 0 ? void 0 : _h.val).toEqual('Cross');
});
test('field check tag 99', () => {
const simple = definitions.simple.get('99');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(99);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('StopPx');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('float');
});
test('field check tag 113', () => {
const simple = definitions.simple.get('113');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(113);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('ReportToExch');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('boolean');
});
test('field check tag 119', () => {
const simple = definitions.simple.get('119');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(119);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('SettlCurrAmt');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('float');
});
test('field check tag 135', () => {
const simple = definitions.simple.get('135');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(135);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('OfferSize');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('float');
});
test('field check tag 168', () => {
const simple = definitions.simple.get('168');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(168);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('EffectiveTime');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('utctimestamp');
});
test('field check tag 95', () => {
const simple = definitions.simple.get('95');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(95);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('RawDataLength');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('length');
});
test('field check tag 96', () => {
const simple = definitions.simple.get('96');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(96);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('RawData');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('data');
});
test('field check tag 100', () => {
const simple = definitions.simple.get('100');
expect(simple).toBeTruthy();
expect(simple === null || simple === void 0 ? void 0 : simple.tag).toEqual(100);
expect(simple === null || simple === void 0 ? void 0 : simple.name).toEqual('ExDestination');
expect(simple === null || simple === void 0 ? void 0 : simple.type.toLowerCase()).toEqual('string');
});
test('message check TestRequest', () => {
const msg = definitions.message.get('TestRequest');
expect(msg).toBeTruthy();
expect(msg === null || msg === void 0 ? void 0 : msg.msgType).toEqual('1');
expect(msg === null || msg === void 0 ? void 0 : msg.fields.length).toEqual(3);
expect(msg === null || msg === void 0 ? void 0 : msg.fields[0].type).toEqual(contained_1.ContainedFieldType.Component);
expect(msg === null || msg === void 0 ? void 0 : msg.fields[0].name).toEqual('StandardHeader');
expect(msg === null || msg === void 0 ? void 0 : msg.fields[1].type).toEqual(contained_1.ContainedFieldType.Simple);
expect(msg === null || msg === void 0 ? void 0 : msg.fields[1].name).toEqual('TestReqID');
expect(msg === null || msg === void 0 ? void 0 : msg.fields[2].type).toEqual(contained_1.ContainedFieldType.Component);
expect(msg === null || msg === void 0 ? void 0 : msg.fields[2].name).toEqual('StandardTrailer');
});
test('message check Email', () => {
const email = definitions.message.get('Email');
expect(email).toBeTruthy();
let index = 0;
setHelper.isComponent(email, index++, 'StandardHeader', true);
setHelper.isSimple(email, index++, 'EmailThreadID', true);
setHelper.isSimple(email, index++, 'EmailType', true);
setHelper.isSimple(email, index++, 'OrigTime', false);
setHelper.isSimple(email, index++, 'Subject', true);
setHelper.isSimple(email, index++, 'EncodedSubjectLen', false);
setHelper.isSimple(email, index++, 'EncodedSubject', false);
setHelper.isGroup(email, index++, 'RoutingGrp', false);
setHelper.isGroup(email, index++, 'InstrmtGrp', false);
setHelper.isGroup(email, index++, 'UndInstrmtGrp', false);
setHelper.isGroup(email, index++, 'InstrmtLegGrp', false);
setHelper.isSimple(email, index++, 'OrderID', false);
setHelper.isSimple(email, index++, 'ClOrdID', false);
setHelper.isGroup(email, index++, 'LinesOfTextGrp', true);
setHelper.isSimple(email, index++, 'RawDataLength', false);
setHelper.isSimple(email, index++, 'RawData', false);
setHelper.isComponent(email, index++, 'StandardTrailer', true);
});
test('message check Email rawfields', () => {
const email = definitions.message.get('Email');
expect(email).toBeTruthy();
isRaw(email, 'RawDataLength');
isRaw(email, 'EncodedSubjectLen');
});
function isRaw(set, name) {
var _a;
const field = set === null || set === void 0 ? void 0 : set.simple.get(name);
expect(field).toBeTruthy();
expect(set === null || set === void 0 ? void 0 : set.containsRaw).toBeTruthy();
const masterDef = definitions.simple.get(name);
expect(set === null || set === void 0 ? void 0 : set.containedLength[(_a = masterDef === null || masterDef === void 0 ? void 0 : masterDef.tag) !== null && _a !== void 0 ? _a : -1]).toBeTruthy();
}
//# sourceMappingURL=fix-repo-dict.test.js.map