trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
34 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const outright_league_competitions_1 = require("../../../../src/entities/core-entities/outright-league/outright-league-competitions");
class DummyEvent {
}
describe('OutrightLeagueCompetitions', () => {
it('should deserialize a plain object into an OutrightLeagueCompetitions instance', () => {
const plain = { Id: 1, Name: 'Comp', Type: 2, Events: [{ id: 10 }, { id: 11 }] };
// We use as unknown as new (...args: unknown[]) => OutrightLeagueCompetitions<DummyEvent> to bypass the generic for test purposes
const competitions = (0, class_transformer_1.plainToInstance)(outright_league_competitions_1.OutrightLeagueCompetitions, plain, { excludeExtraneousValues: true });
expect(competitions).toBeInstanceOf(outright_league_competitions_1.OutrightLeagueCompetitions);
expect(competitions.id).toBe(1);
expect(competitions.name).toBe('Comp');
expect(competitions.type).toBe(2);
expect(Array.isArray(competitions.events)).toBe(true);
});
it('should handle missing properties', () => {
const plain = {};
// We use as unknown as new (...args: unknown[]) => OutrightLeagueCompetitions<DummyEvent> to bypass the generic for test purposes
const competitions = (0, class_transformer_1.plainToInstance)(outright_league_competitions_1.OutrightLeagueCompetitions, plain, { excludeExtraneousValues: true });
expect(competitions.id).toBeUndefined();
expect(competitions.name).toBeUndefined();
expect(competitions.type).toBeUndefined();
expect(competitions.events).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = { Id: 2, Extra: 'ignore me' };
// We use as unknown as new (...args: unknown[]) => OutrightLeagueCompetitions<DummyEvent> to bypass the generic for test purposes
const competitions = (0, class_transformer_1.plainToInstance)(outright_league_competitions_1.OutrightLeagueCompetitions, plain, { excludeExtraneousValues: true });
expect(competitions.Extra).toBeUndefined();
});
});
//# sourceMappingURL=outright-league-competitions.spec.js.map