trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
33 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const clock_1 = require("../../../../src/entities/core-entities/livescore/clock");
const clock_status_1 = require("../../../../src/entities/core-entities/enums/clock-status");
describe('Clock Entity', () => {
it('should deserialize a plain object into a Clock instance', () => {
const plain = {
Status: clock_status_1.ClockStatus.Running,
Seconds: 45
};
const clock = (0, class_transformer_1.plainToInstance)(clock_1.Clock, plain, { excludeExtraneousValues: true });
expect(clock).toBeInstanceOf(clock_1.Clock);
expect(clock.status).toBe(clock_status_1.ClockStatus.Running);
expect(clock.seconds).toBe(45);
});
it('should handle missing properties', () => {
const plain = {};
const clock = (0, class_transformer_1.plainToInstance)(clock_1.Clock, plain, { excludeExtraneousValues: true });
expect(clock.status).toBeUndefined();
expect(clock.seconds).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = {
Status: clock_status_1.ClockStatus.Paused,
Seconds: 30,
Extra: 'ignore me'
};
const clock = (0, class_transformer_1.plainToInstance)(clock_1.Clock, plain, { excludeExtraneousValues: true });
expect(clock.Extra).toBeUndefined();
});
});
//# sourceMappingURL=clock.spec.js.map