UNPKG

trade360-nodejs-sdk

Version:
49 lines 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const players_1 = require("../../../../src/entities/core-entities/livescore/players"); const player_1 = require("../../../../src/entities/core-entities/livescore/player"); describe('Players Entity', () => { it('should deserialize a plain object into a Players instance', () => { const plain = { Item1: [{ Id: 207444, Name: 'Ferran Torres' }], Item2: [{ Id: 643815, Name: 'Lamine Yamal' }], }; const players = (0, class_transformer_1.plainToInstance)(players_1.Players, plain, { excludeExtraneousValues: true }); expect(players).toBeInstanceOf(players_1.Players); expect(Array.isArray(players.item1)).toBe(true); expect(Array.isArray(players.item2)).toBe(true); expect(players.item1?.[0]).toBeInstanceOf(player_1.Player); expect(players.item2?.[0]).toBeInstanceOf(player_1.Player); expect(players.item1?.[0].id).toBe(207444); expect(players.item1?.[0].name).toBe('Ferran Torres'); expect(players.item2?.[0].id).toBe(643815); expect(players.item2?.[0].name).toBe('Lamine Yamal'); }); it('should handle missing properties', () => { const plain = {}; const players = (0, class_transformer_1.plainToInstance)(players_1.Players, plain, { excludeExtraneousValues: true }); expect(players.item1).toBeUndefined(); expect(players.item2).toBeUndefined(); }); it('should handle empty arrays', () => { const plain = { Item1: [], Item2: [], }; const players = (0, class_transformer_1.plainToInstance)(players_1.Players, plain, { excludeExtraneousValues: true }); expect(Array.isArray(players.item1)).toBe(true); expect(Array.isArray(players.item2)).toBe(true); expect(players.item1?.length).toBe(0); expect(players.item2?.length).toBe(0); }); it('should ignore extraneous properties', () => { const plain = { Item1: [], Extra: 'ignore me', }; const players = (0, class_transformer_1.plainToInstance)(players_1.Players, plain, { excludeExtraneousValues: true }); expect(players.Extra).toBeUndefined(); }); }); //# sourceMappingURL=players.spec.js.map