UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

36 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const market_event_1 = require("../../../../src/entities/core-entities/market/market-event"); const market_1 = require("../../../../src/entities/core-entities/market/market"); describe('MarketEvent Entity', () => { it('should deserialize a plain object into a MarketEvent instance', () => { const plain = { FixtureId: 123, Markets: [ { Id: 1, Name: 'Market1' }, { Id: 2, Name: 'Market2' }, ], }; const event = (0, class_transformer_1.plainToInstance)(market_event_1.MarketEvent, plain, { excludeExtraneousValues: true }); expect(event).toBeInstanceOf(market_event_1.MarketEvent); expect(event.fixtureId).toBe(123); expect(Array.isArray(event.markets)).toBe(true); expect(event.markets?.[0]).toBeInstanceOf(market_1.Market); }); it('should handle missing properties', () => { const plain = {}; const event = (0, class_transformer_1.plainToInstance)(market_event_1.MarketEvent, plain, { excludeExtraneousValues: true }); expect(event.fixtureId).toBeUndefined(); expect(event.markets).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { FixtureId: 456, Extra: 'ignore me', }; const event = (0, class_transformer_1.plainToInstance)(market_event_1.MarketEvent, plain, { excludeExtraneousValues: true }); expect(event.Extra).toBeUndefined(); }); }); //# sourceMappingURL=market-event.spec.js.map