UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

52 lines 2.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const player_statistic_1 = require("../../../../src/entities/core-entities/livescore/player-statistic"); const statistic_value_1 = require("../../../../src/entities/core-entities/livescore/statistic-value"); describe('PlayerStatistic Entity', () => { it('should deserialize a plain object into a PlayerStatistic instance', () => { const plain = { PlayerId: 123, PlayerName: 'John Doe', TeamId: 456, HasPlayed: true, Statistics: [ { Id: 1, Name: 'Goals', Value: '2' } ] }; const playerStatistic = (0, class_transformer_1.plainToInstance)(player_statistic_1.PlayerStatistic, plain, { excludeExtraneousValues: true }); expect(playerStatistic).toBeInstanceOf(player_statistic_1.PlayerStatistic); expect(playerStatistic.playerId).toBe(123); expect(playerStatistic.playerName).toBe('John Doe'); expect(playerStatistic.teamId).toBe(456); expect(playerStatistic.hasPlayed).toBe(true); expect(Array.isArray(playerStatistic.statistics)).toBe(true); expect(playerStatistic.statistics?.[0]).toBeInstanceOf(statistic_value_1.StatisticValue); expect(playerStatistic.statistics?.[0].id).toBe(1); expect(playerStatistic.statistics?.[0].name).toBe('Goals'); expect(playerStatistic.statistics?.[0].value).toBe('2'); }); it('should handle missing properties', () => { const plain = {}; const playerStatistic = (0, class_transformer_1.plainToInstance)(player_statistic_1.PlayerStatistic, plain, { excludeExtraneousValues: true }); expect(playerStatistic.playerId).toBeUndefined(); expect(playerStatistic.playerName).toBeUndefined(); expect(playerStatistic.teamId).toBeUndefined(); expect(playerStatistic.hasPlayed).toBeUndefined(); expect(playerStatistic.statistics).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { PlayerId: 123, PlayerName: 'John Doe', Extra: 'ignore me' }; const playerStatistic = (0, class_transformer_1.plainToInstance)(player_statistic_1.PlayerStatistic, plain, { excludeExtraneousValues: true }); expect(playerStatistic.Extra).toBeUndefined(); }); }); //# sourceMappingURL=player-statistic.spec.js.map