trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
36 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const current_incident_1 = require("../../../../src/entities/core-entities/livescore/current-incident");
describe('CurrentIncident Entity', () => {
it('should deserialize a plain object into a CurrentIncident instance', () => {
const plain = {
Id: 1,
Name: 'Incident1',
LastUpdate: '2024-06-01T12:00:00Z',
};
const incident = (0, class_transformer_1.plainToInstance)(current_incident_1.CurrentIncident, plain, { excludeExtraneousValues: true });
expect(incident).toBeInstanceOf(current_incident_1.CurrentIncident);
expect(incident.id).toBe(1);
expect(incident.name).toBe('Incident1');
expect(incident.lastUpdate).toBeInstanceOf(Date);
expect(incident.lastUpdate?.toISOString()).toBe('2024-06-01T12:00:00.000Z');
});
it('should handle missing properties', () => {
const plain = {};
const incident = (0, class_transformer_1.plainToInstance)(current_incident_1.CurrentIncident, plain, { excludeExtraneousValues: true });
expect(incident.id).toBeUndefined();
expect(incident.name).toBeUndefined();
expect(incident.lastUpdate).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = {
Id: 2,
Name: 'Test Incident',
Extra: 'ignore me',
};
const incident = (0, class_transformer_1.plainToInstance)(current_incident_1.CurrentIncident, plain, { excludeExtraneousValues: true });
expect(incident.Extra).toBeUndefined();
});
});
//# sourceMappingURL=current-incident.spec.js.map