trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
26 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const class_transformer_1 = require("class-transformer");
const subscription_1 = require("../../../../src/entities/core-entities/common/subscription");
const subscription_type_1 = require("../../../../src/entities/core-entities/enums/subscription-type");
describe('Subscription', () => {
it('should deserialize a plain object into a Subscription instance', () => {
const plain = { Type: subscription_type_1.SubscriptionType.Subscribed, Status: 'Active' };
const subscription = (0, class_transformer_1.plainToInstance)(subscription_1.Subscription, plain, { excludeExtraneousValues: true });
expect(subscription).toBeInstanceOf(subscription_1.Subscription);
expect(subscription.type).toBe(subscription_type_1.SubscriptionType.Subscribed);
expect(subscription.status).toBe('Active');
});
it('should handle missing properties', () => {
const plain = {};
const subscription = (0, class_transformer_1.plainToInstance)(subscription_1.Subscription, plain, { excludeExtraneousValues: true });
expect(subscription.type).toBeUndefined();
expect(subscription.status).toBeUndefined();
});
it('should ignore extraneous properties', () => {
const plain = { Type: subscription_type_1.SubscriptionType.NotSubscribed, Extra: 'ignore me' };
const subscription = (0, class_transformer_1.plainToInstance)(subscription_1.Subscription, plain, { excludeExtraneousValues: true });
expect(subscription.Extra).toBeUndefined();
});
});
//# sourceMappingURL=subscription.spec.js.map