UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

89 lines 2.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const experimental_1 = require("../types/experimental"); const flag_resolver_1 = __importDefault(require("./flag-resolver")); test('should produce empty exposed flags', () => { const resolver = new flag_resolver_1.default(experimental_1.defaultExperimentalOptions); const result = resolver.getAll(); expect(result.ENABLE_DARK_MODE_SUPPORT).toBe(false); }); test('should produce UI flags with extra dynamic flags', () => { const config = { ...experimental_1.defaultExperimentalOptions, flags: { extraFlag: false }, }; const resolver = new flag_resolver_1.default(config); const result = resolver.getAll(); expect(result.extraFlag).toBe(false); }); test('should use external resolver for dynamic flags', () => { const externalResolver = { isEnabled: (name) => { if (name === 'extraFlag') { return true; } }, }; const resolver = new flag_resolver_1.default({ flags: { extraFlag: false, }, externalResolver, }); const result = resolver.getAll(); expect(result.extraFlag).toBe(true); }); test('should not use external resolver for enabled experiments', () => { const externalResolver = { isEnabled: () => { return false; }, }; const resolver = new flag_resolver_1.default({ flags: { should_be_enabled: true, extraFlag: false, }, externalResolver, }); const result = resolver.getAll(); expect(result.should_be_enabled).toBe(true); }); test('should load experimental flags', () => { const externalResolver = { isEnabled: () => { return false; }, }; const resolver = new flag_resolver_1.default({ flags: { extraFlag: false, someFlag: true, }, externalResolver, }); expect(resolver.isEnabled('someFlag')).toBe(true); expect(resolver.isEnabled('extraFlag')).toBe(false); }); test('should load experimental flags from external provider', () => { const externalResolver = { isEnabled: (name) => { if (name === 'extraFlag') { return true; } }, }; const resolver = new flag_resolver_1.default({ flags: { extraFlag: false, someFlag: true, }, externalResolver, }); expect(resolver.isEnabled('someFlag')).toBe(true); expect(resolver.isEnabled('extraFlag')).toBe(true); }); //# sourceMappingURL=flag-resolver.test.js.map