12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- const FU = require('../feature-utils');
- describe('FeatureUtils', () => {
- const FEATURE_X_KEY = 'my feature 1';
- const FEATURE_Y_KEY = 'my feature 2';
- beforeEach(() => {
- FU.setFeature(FEATURE_X_KEY, false);
- FU.setFeature(FEATURE_Y_KEY, false);
- });
- describe('Setting of features', () => {
- it('should not have any features by default', () => {
- expect(FU.featureIsEnabled(FEATURE_X_KEY)).toBeFalsy();
- expect(FU.featureIsEnabled(FEATURE_Y_KEY)).toBeFalsy();
- });
- it('should work with enabling one feature', () => {
- let success;
- expect(FU.featureIsEnabled(FEATURE_X_KEY)).toBeFalsy();
- success = FU.setFeature(FEATURE_X_KEY, true);
- expect(success).toBeTruthy();
- expect(FU.featureIsEnabled(FEATURE_X_KEY)).toBeTruthy();
- expect(FU.featureIsEnabled(FEATURE_Y_KEY)).toBeFalsy();
- success = FU.setFeature(FEATURE_X_KEY, false);
- expect(success).toBeTruthy();
- expect(FU.featureIsEnabled(FEATURE_X_KEY)).toBeFalsy();
- });
- it('should allow for either feature', () => {
- let success;
- expect(FU.featureIsEnabledAny(FEATURE_X_KEY, FEATURE_Y_KEY)).toBeFalsy();
- success = FU.setFeature(FEATURE_X_KEY, true);
- expect(success).toBeTruthy();
- expect(FU.featureIsEnabledAny(FEATURE_X_KEY, FEATURE_Y_KEY)).toBeTruthy();
- success = FU.setFeature(FEATURE_X_KEY, false);
- success = FU.setFeature(FEATURE_Y_KEY, true);
- expect(success).toBeTruthy();
- expect(FU.featureIsEnabledAny(FEATURE_X_KEY, FEATURE_Y_KEY)).toBeTruthy();
- });
- });
- });
|