UNPKG

@unilogin/sdk

Version:

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

49 lines (39 loc) 1.52 kB
import {expect} from 'chai'; import {FeatureFlagsService} from '../../../src/core/services/FeatureFlagsService'; import {Feature} from '../../../src/core/models/Feature'; describe('FeatureFlagService', () => { let service: FeatureFlagsService; beforeEach(() => { service = new FeatureFlagsService(); }); it('empty', () => { expect(service.isEnabled(Feature.disconnectAccount)).to.be.false; expect(service.isEnabled(Feature.requiredConfirmations)).to.be.false; }); it('enableAll', () => { service.enableAll(['disconnectAccount', 'requiredConfirmations']); expect(service.isEnabled('disconnectAccount')).to.be.true; expect(service.isEnabled('requiredConfirmations')).to.be.true; }); describe('isEnabled', () => { it('with enum', () => { service.enable(Feature.disconnectAccount); expect(service.isEnabled(Feature.disconnectAccount)).to.be.true; }); it('with string (false)', () => { expect(service.isEnabled('disconnectAccount')).to.be.false; }); it('with string (true)', () => { service.enable(Feature.disconnectAccount); expect(service.isEnabled('disconnectAccount')).to.be.true; }); it('with string (invalid feature)', () => { service.enable(Feature.disconnectAccount); expect(() => service.isEnabled('nope')).to.throw('Invalid feature'); }); }); it('isFeature', () => { expect(service.isFeature('disconnectAccount')).to.be.true; expect(service.isFeature('nope')).to.be.false; }); });