UNPKG

@blinkk/editor

Version:

Structured content editor with live previews.

124 lines 4.45 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const featureManager_1 = require("./featureManager"); const ava_1 = __importDefault(require("ava")); ava_1.default('default status with no features defined', t => { const featuresOff = new featureManager_1.FeatureManager({ defaultStatus: false, }); t.is(featuresOff.isOn('random'), false); t.is(featuresOff.isOff('random'), true); const featuresOn = new featureManager_1.FeatureManager({ defaultStatus: true, }); t.is(featuresOn.isOn('random'), true); t.is(featuresOn.isOff('random'), false); }); ava_1.default('turn features on, default off', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); t.is(features.isOn('random'), false); t.is(features.isOff('random'), true); t.is(features.on('random'), true); t.is(features.isOn('random'), true); t.is(features.isOff('random'), false); }); ava_1.default('turn features on, default on', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: true, }); t.is(features.isOn('random'), true); t.is(features.isOff('random'), false); t.is(features.on('random'), true); t.is(features.isOn('random'), true); t.is(features.isOff('random'), false); }); ava_1.default('turn features off, default off', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); t.is(features.isOn('random'), false); t.is(features.isOff('random'), true); t.is(features.off('random'), false); t.is(features.isOn('random'), false); t.is(features.isOff('random'), true); }); ava_1.default('turn features off, default on', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: true, }); t.is(features.isOn('random'), true); t.is(features.isOff('random'), false); t.is(features.off('random'), false); t.is(features.isOn('random'), false); t.is(features.isOff('random'), true); }); ava_1.default('feature settings on', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); const settings = { foo: 'bar', }; t.is(features.isOn('random'), false); // Set settings when setting feature. t.is(features.on('random', settings), settings); t.is(features.isOn('random'), true); // Can retrieve settings. t.is(features.settings('random'), settings); }); ava_1.default('feature settings off', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); const settings = { foo: 'bar', }; t.is(features.isOn('random'), false); // Set settings when setting feature. t.is(features.off('random', settings), settings); t.is(features.isOn('random'), false); // Can retrieve settings. t.is(features.settings('random'), settings); }); ava_1.default('feature set values with settings', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); const settings = { foo: 'bar', }; t.is(features.isOn('random'), false); // Set settings when setting feature. t.is(features.set('random', settings), settings); t.is(features.isOn('random'), true); // Can retrieve settings. t.is(features.settings('random'), settings); }); ava_1.default('feature set values with boolean, default off', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: false, }); t.is(features.isOn('foo'), false); t.is(features.set('foo', false), false); t.is(features.isOn('foo'), false); t.is(features.isOn('bar'), false); t.is(features.set('bar', true), true); t.is(features.isOn('bar'), true); }); ava_1.default('feature set values with boolean, default on', t => { const features = new featureManager_1.FeatureManager({ defaultStatus: true, }); t.is(features.isOn('foo'), true); t.is(features.set('foo', false), false); t.is(features.isOn('foo'), false); t.is(features.isOn('bar'), true); t.is(features.set('bar', true), true); t.is(features.isOn('bar'), true); }); //# sourceMappingURL=featureManager.test.js.map