Sha256: 0a0568de4dc70806c5742bf4174b003d859245033d83655b12975c9c1ff9278a

Contents?: true

Size: 1.71 KB

Versions: 18

Compression:

Stored size: 1.71 KB

Contents

/**
 * Copyright 2014 Red Hat, Inc.
 *
 * This software is licensed to you under the GNU General Public
 * License as published by the Free Software Foundation; either version
 * 2 of the License (GPLv2) or (at your option) any later version.
 * There is NO WARRANTY for this software, express or implied,
 * including the implied warranties of MERCHANTABILITY,
 * NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
 * have received a copy of GPLv2 along with this software; if not, see
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 */

describe('Service:FeatureFlag', function() {
    var FeatureFlag;

    beforeEach(module('Bastion.features'));

    beforeEach(module(function ($provide) {
        $provide.value('FeatureSettings', {'custom_products': false});
    }));

    beforeEach(inject(function($injector) {
        FeatureFlag = $injector.get('FeatureFlag');
        FeatureFlag.addStates('custom_products', ['products', 'products.new']);
    }));

    it("should allow checking if a feature is enabled", function () {
        expect(FeatureFlag.featureEnabled('custom_products')).toBe(false);
    });

    it("should default to true if a feature is undefined", function () {
        expect(FeatureFlag.featureEnabled('fake_flag')).toBe(true);
    });

    it("should allow checking if a state is enabled", function () {
        expect(FeatureFlag.stateEnabled('products')).toBe(false);
        expect(FeatureFlag.stateEnabled('products.fake')).toBe(true);
    });

    it("should allow adding states to a feature", function () {
        expect(FeatureFlag.addStates('custom_products', ['products.new.form'])).toBe(FeatureFlag);
        expect(FeatureFlag.stateEnabled('products.new.form')).toBe(false);
    });
});

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
bastion-0.3.3 test/features/feature-flag.service.test.js
bastion-1.0.1 test/features/feature-flag.service.test.js
bastion-0.3.2 test/features/feature-flag.service.test.js
bastion-1.0.0 test/features/feature-flag.service.test.js
bastion-0.3.1 test/features/feature-flag.service.test.js
bastion-0.3.0 test/features/feature-flag.service.test.js
bastion-0.2.9 test/features/feature-flag.service.test.js
bastion-0.2.8 test/features/feature-flag.service.test.js
bastion-0.2.7 test/features/feature-flag.service.test.js
bastion-0.2.6 test/features/feature-flag.service.test.js
bastion-0.1.14 test/features/feature-flag.service.test.js
bastion-0.2.5 test/features/feature-flag.service.test.js
bastion-0.2.3 test/features/feature-flag.service.test.js
bastion-0.2.2 test/features/feature-flag.service.test.js
bastion-0.2.1 test/features/feature-flag.service.test.js
bastion-0.2.0 test/features/feature-flag.service.test.js
bastion-0.1.13 test/features/feature-flag.service.test.js
bastion-0.1.12 test/features/feature-flag.service.test.js