UNPKG

trade360-nodejs-sdk

Version:
60 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const outright_market_body_structure_1 = require("../../../../../src/api/common/body-entities/responses/outright-market-body-structure"); const bet_1 = require("../../../../../src/entities/core-entities/market/bet"); describe('OutrightMarketBodyStructure', () => { it('should deserialize a plain object into an OutrightMarketBodyStructure instance', () => { const plain = { Id: 12345, Name: 'Outright Winner', Bets: [ { Id: 10, Name: 'Team A' }, { Id: 11, Name: 'Team B' }, ], }; const market = (0, class_transformer_1.plainToInstance)(outright_market_body_structure_1.OutrightMarketBodyStructure, plain, { excludeExtraneousValues: true, }); expect(market).toBeInstanceOf(outright_market_body_structure_1.OutrightMarketBodyStructure); expect(market.id).toBe(12345); expect(market.name).toBe('Outright Winner'); expect(Array.isArray(market.bets)).toBe(true); expect(market.bets?.[0]).toBeInstanceOf(bet_1.Bet); expect(market.bets?.[0]?.id).toBe('10'); expect(market.bets?.[1]?.id).toBe('11'); }); it('should handle missing properties', () => { const plain = {}; const market = (0, class_transformer_1.plainToInstance)(outright_market_body_structure_1.OutrightMarketBodyStructure, plain, { excludeExtraneousValues: true, }); expect(market.id).toBeUndefined(); expect(market.name).toBeUndefined(); expect(market.bets).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { Id: 67890, Name: 'Test Market', Extra: 'ignore me', }; const market = (0, class_transformer_1.plainToInstance)(outright_market_body_structure_1.OutrightMarketBodyStructure, plain, { excludeExtraneousValues: true, }); expect(market.id).toBe(67890); expect(market.Extra).toBeUndefined(); }); it('should correctly deserialize Id field with capital I', () => { const plain = { Id: 274, Name: 'Outright Winner Market', }; const market = (0, class_transformer_1.plainToInstance)(outright_market_body_structure_1.OutrightMarketBodyStructure, plain, { excludeExtraneousValues: true, }); expect(market.id).toBe(274); expect(market.name).toBe('Outright Winner Market'); }); }); //# sourceMappingURL=outright-market-body-structure.spec.js.map