UNPKG

trade360-nodejs-sdk

Version:
54 lines 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const class_transformer_1 = require("class-transformer"); const outright_league_fixture_1 = require("../../../../src/entities/core-entities/outright-league/outright-league-fixture"); const subscription_1 = require("../../../../src/entities/core-entities/common/subscription"); const name_value_record_1 = require("../../../../src/entities/core-entities/common/name-value-record"); describe('OutrightLeagueFixture', () => { it('should deserialize a plain object into an OutrightLeagueFixture instance', () => { const plain = { Subscription: { Type: 1, Status: 'Active' }, Sport: { id: 2, name: 'Football' }, Location: { id: 3, name: 'Europe' }, LastUpdate: '2024-06-01T12:00:00Z', Status: 1, ExtraData: [{ Name: 'foo', Value: 'bar' }], EndDate: '2030-06-01T13:00:00Z', }; const fixture = (0, class_transformer_1.plainToInstance)(outright_league_fixture_1.OutrightLeagueFixture, plain, { excludeExtraneousValues: true, }); expect(fixture).toBeInstanceOf(outright_league_fixture_1.OutrightLeagueFixture); expect(fixture.subscription).toBeInstanceOf(subscription_1.Subscription); expect(fixture.sport).toBeDefined(); expect(fixture.location).toBeDefined(); expect(fixture.lastUpdate).toBeInstanceOf(Date); expect(fixture.lastUpdate?.toISOString()).toBe('2024-06-01T12:00:00.000Z'); expect(Array.isArray(fixture.extraData)).toBe(true); expect(fixture.extraData?.[0]).toBeInstanceOf(name_value_record_1.NameValueRecord); expect(fixture.status).toBe(1); expect(fixture.endDate).toBeInstanceOf(Date); expect(fixture.endDate?.toISOString()).toBe('2030-06-01T13:00:00.000Z'); }); it('should handle missing properties', () => { const plain = {}; const fixture = (0, class_transformer_1.plainToInstance)(outright_league_fixture_1.OutrightLeagueFixture, plain, { excludeExtraneousValues: true, }); expect(fixture.subscription).toBeUndefined(); expect(fixture.sport).toBeUndefined(); expect(fixture.location).toBeUndefined(); expect(fixture.lastUpdate).toBeUndefined(); expect(fixture.status).toBeUndefined(); expect(fixture.extraData).toBeUndefined(); expect(fixture.endDate).toBeUndefined(); }); it('should ignore extraneous properties', () => { const plain = { Status: 2, Extra: 'ignore me' }; const fixture = (0, class_transformer_1.plainToInstance)(outright_league_fixture_1.OutrightLeagueFixture, plain, { excludeExtraneousValues: true, }); expect(fixture.Extra).toBeUndefined(); }); }); //# sourceMappingURL=outright-league-fixture.spec.js.map