@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
JavaScript
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
;