trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
38 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const danger_indicator_1 = require("../../../../src/entities/core-entities/livescore/danger-indicator");
const danger_indicator_status_1 = require("../../../../src/entities/core-entities/enums/danger-indicator-status");
const danger_indicator_type_1 = require("../../../../src/entities/core-entities/enums/danger-indicator-type");
describe('DangerIndicator Entity', () => {
it('should deserialize a plain object into a DangerIndicator instance', () => {
const plain = {
Type: danger_indicator_type_1.DangerIndicatorType.General,
Status: danger_indicator_status_1.DangerIndicatorStatus.Safe,
LastUpdate: '2024-06-01T12:00:00Z',
};
const indicator = (0, class_transformer_1.plainToInstance)(danger_indicator_1.DangerIndicator, plain, { excludeExtraneousValues: true });
expect(indicator).toBeInstanceOf(danger_indicator_1.DangerIndicator);
expect(indicator.type).toBe(danger_indicator_type_1.DangerIndicatorType.General);
expect(indicator.status).toBe(danger_indicator_status_1.DangerIndicatorStatus.Safe);
expect(indicator.lastUpdate).toBeInstanceOf(Date);
expect(indicator.lastUpdate?.toISOString()).toBe('2024-06-01T12:00:00.000Z');
});
it('should handle missing properties', () => {
const plain = {};
const indicator = (0, class_transformer_1.plainToInstance)(danger_indicator_1.DangerIndicator, plain, { excludeExtraneousValues: true });
expect(indicator.type).toBeUndefined();
expect(indicator.status).toBeUndefined();
expect(indicator.lastUpdate).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = {
Type: danger_indicator_type_1.DangerIndicatorType.Cards,
Status: danger_indicator_status_1.DangerIndicatorStatus.Danger,
Extra: 'ignore me',
};
const indicator = (0, class_transformer_1.plainToInstance)(danger_indicator_1.DangerIndicator, plain, { excludeExtraneousValues: true });
expect(indicator.Extra).toBeUndefined();
});
});
//# sourceMappingURL=danger-indicator.spec.js.map