trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
68 lines • 3.41 kB
JavaScript
;
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