UNPKG

@unilogin/sdk

Version:

SDK is a JS library, that communicates with relayer. SDK allows managing contract, by creating basic contract-calling messages.

42 lines 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var chai_1 = require("chai"); var FeatureFlagsService_1 = require("../../../src/core/services/FeatureFlagsService"); var Feature_1 = require("../../../src/core/models/Feature"); describe('FeatureFlagService', function () { var service; beforeEach(function () { service = new FeatureFlagsService_1.FeatureFlagsService(); }); it('empty', function () { chai_1.expect(service.isEnabled(Feature_1.Feature.disconnectAccount)).to.be.false; chai_1.expect(service.isEnabled(Feature_1.Feature.requiredConfirmations)).to.be.false; }); it('enableAll', function () { service.enableAll(['disconnectAccount', 'requiredConfirmations']); chai_1.expect(service.isEnabled('disconnectAccount')).to.be.true; chai_1.expect(service.isEnabled('requiredConfirmations')).to.be.true; }); describe('isEnabled', function () { it('with enum', function () { service.enable(Feature_1.Feature.disconnectAccount); chai_1.expect(service.isEnabled(Feature_1.Feature.disconnectAccount)).to.be.true; }); it('with string (false)', function () { chai_1.expect(service.isEnabled('disconnectAccount')).to.be.false; }); it('with string (true)', function () { service.enable(Feature_1.Feature.disconnectAccount); chai_1.expect(service.isEnabled('disconnectAccount')).to.be.true; }); it('with string (invalid feature)', function () { service.enable(Feature_1.Feature.disconnectAccount); chai_1.expect(function () { return service.isEnabled('nope'); }).to.throw('Invalid feature'); }); }); it('isFeature', function () { chai_1.expect(service.isFeature('disconnectAccount')).to.be.true; chai_1.expect(service.isFeature('nope')).to.be.false; }); }); //# sourceMappingURL=FeatureFlagsService.test.js.map