UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

39 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const statistic_1 = require("../../../../src/entities/core-entities/livescore/statistic"); const result_1 = require("../../../../src/entities/core-entities/livescore/result"); const incident_1 = require("../../../../src/entities/core-entities/livescore/incident"); const statistic_type_1 = require("../../../../src/entities/core-entities/enums/statistic-type"); describe('Statistic Entity', () => { it('should deserialize a plain object into a Statistic instance', () => { const plain = { Type: statistic_type_1.StatisticType.Goal, Results: [{ position: '1st', value: '2' }], Incidents: [{ period: 1 }], }; const statistic = (0, class_transformer_1.plainToInstance)(statistic_1.Statistic, plain, { excludeExtraneousValues: true }); expect(statistic).toBeInstanceOf(statistic_1.Statistic); expect(statistic.type).toBe(statistic_type_1.StatisticType.Goal); expect(Array.isArray(statistic.results)).toBe(true); expect(statistic.results?.[0]).toBeInstanceOf(result_1.Result); expect(Array.isArray(statistic.incidents)).toBe(true); expect(statistic.incidents?.[0]).toBeInstanceOf(incident_1.Incident); }); it('should handle missing properties', () => { const plain = {}; const statistic = (0, class_transformer_1.plainToInstance)(statistic_1.Statistic, plain, { excludeExtraneousValues: true }); expect(statistic.type).toBeUndefined(); expect(statistic.results).toBeUndefined(); expect(statistic.incidents).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { Type: statistic_type_1.StatisticType.Corners, Extra: 'ignore me', }; const statistic = (0, class_transformer_1.plainToInstance)(statistic_1.Statistic, plain, { excludeExtraneousValues: true }); expect(statistic.Extra).toBeUndefined(); }); }); //# sourceMappingURL=statistic.spec.js.map