trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
31 lines • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const outright_score_1 = require("../../../../src/entities/core-entities/outright-sport/outright-score");
const participant_result_1 = require("../../../../src/entities/core-entities/outright-sport/participant-result");
const outright_score_status_1 = require("../../../../src/entities/core-entities/enums/outright-score-status");
describe('OutrightScore', () => {
it('should deserialize a plain object into an OutrightScore instance', () => {
const plain = {
ParticipantResults: [{ Id: 1, Name: 'P1' }],
Status: outright_score_status_1.OutrightScoreStatus.Completed,
};
const score = (0, class_transformer_1.plainToInstance)(outright_score_1.OutrightScore, plain, { excludeExtraneousValues: true });
expect(score).toBeInstanceOf(outright_score_1.OutrightScore);
expect(Array.isArray(score.participantResults)).toBe(true);
expect(score.participantResults?.[0]).toBeInstanceOf(participant_result_1.ParticipantResult);
expect(score.status).toBe(outright_score_status_1.OutrightScoreStatus.Completed);
});
it('should handle missing properties', () => {
const plain = {};
const score = (0, class_transformer_1.plainToInstance)(outright_score_1.OutrightScore, plain, { excludeExtraneousValues: true });
expect(score.participantResults).toBeUndefined();
expect(score.status).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = { Status: outright_score_status_1.OutrightScoreStatus.InProgress, Extra: 'ignore me' };
const score = (0, class_transformer_1.plainToInstance)(outright_score_1.OutrightScore, plain, { excludeExtraneousValues: true });
expect(score.Extra).toBeUndefined();
});
});
//# sourceMappingURL=outright-score.spec.js.map