UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

68 lines 3.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const participant_1 = require("../../../../src/entities/core-entities/fixture/participant"); const active_participant_1 = require("../../../../src/entities/core-entities/enums/active-participant"); describe('Participant Entity', () => { it('should deserialize a plain object into a Participant instance', () => { const plain = { Id: 5, Name: 'Player One', Position: 'Forward', RotationId: 100, IsActive: active_participant_1.ActiveParticipant.Active, }; const participant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plain, { excludeExtraneousValues: true }); expect(participant).toBeInstanceOf(participant_1.Participant); expect(participant.id).toBe(5); expect(participant.name).toBe('Player One'); expect(participant.position).toBe('Forward'); expect(participant.rotationId).toBe(100); expect(participant.isActive).toBe(active_participant_1.ActiveParticipant.Active); }); it('should handle missing properties', () => { const plain = {}; const participant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plain, { excludeExtraneousValues: true }); expect(participant.id).toBeUndefined(); expect(participant.name).toBeUndefined(); expect(participant.position).toBeUndefined(); expect(participant.rotationId).toBeUndefined(); expect(participant.isActive).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { Id: 1, Name: 'Test Participant', Position: 'Goalkeeper', Extra: 'ignore me', }; const participant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plain, { excludeExtraneousValues: true }); expect(participant.Extra).toBeUndefined(); }); it('should deserialize rotationId property correctly', () => { const plain = { Id: 2, Name: 'Player Two', RotationId: 250, }; const participant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plain, { excludeExtraneousValues: true }); expect(participant.rotationId).toBe(250); }); it('should deserialize isActive property correctly', () => { const plainActive = { Id: 3, Name: 'Active Player', IsActive: active_participant_1.ActiveParticipant.Active, }; const activeParticipant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plainActive, { excludeExtraneousValues: true }); expect(activeParticipant.isActive).toBe(active_participant_1.ActiveParticipant.Active); const plainInactive = { Id: 4, Name: 'Inactive Player', IsActive: active_participant_1.ActiveParticipant.InActive, }; const inactiveParticipant = (0, class_transformer_1.plainToInstance)(participant_1.Participant, plainInactive, { excludeExtraneousValues: true }); expect(inactiveParticipant.isActive).toBe(active_participant_1.ActiveParticipant.InActive); }); }); //# sourceMappingURL=participant.spec.js.map