UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

48 lines 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const incident_1 = require("../../../../src/entities/core-entities/livescore/incident"); const result_1 = require("../../../../src/entities/core-entities/livescore/result"); describe('Incident Entity', () => { it('should deserialize a plain object into an Incident instance', () => { const plain = { Period: 1, IncidentType: 5, Seconds: 120, ParticipantPosition: 'Forward', PlayerId: '123', PlayerName: 'John Doe', Results: [{ id: 1 }, { id: 2 }], }; const incident = (0, class_transformer_1.plainToInstance)(incident_1.Incident, plain, { excludeExtraneousValues: true }); expect(incident).toBeInstanceOf(incident_1.Incident); expect(incident.period).toBe(1); expect(incident.incidentType).toBe(5); expect(incident.seconds).toBe(120); expect(incident.participantPosition).toBe('Forward'); expect(incident.playerId).toBe('123'); expect(incident.playerName).toBe('John Doe'); expect(Array.isArray(incident.results)).toBe(true); expect(incident.results?.[0]).toBeInstanceOf(result_1.Result); }); it('should handle missing properties', () => { const plain = {}; const incident = (0, class_transformer_1.plainToInstance)(incident_1.Incident, plain, { excludeExtraneousValues: true }); expect(incident.period).toBeUndefined(); expect(incident.incidentType).toBeUndefined(); expect(incident.seconds).toBeUndefined(); expect(incident.participantPosition).toBeUndefined(); expect(incident.playerId).toBeUndefined(); expect(incident.playerName).toBeUndefined(); expect(incident.results).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { Period: 2, Extra: 'ignore me', }; const incident = (0, class_transformer_1.plainToInstance)(incident_1.Incident, plain, { excludeExtraneousValues: true }); expect(incident.Extra).toBeUndefined(); }); }); //# sourceMappingURL=incident.spec.js.map