diff options
Diffstat (limited to 'spec/lib/feature_spec.rb')
-rw-r--r-- | spec/lib/feature_spec.rb | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/spec/lib/feature_spec.rb b/spec/lib/feature_spec.rb index a7163048370..02e87205286 100644 --- a/spec/lib/feature_spec.rb +++ b/spec/lib/feature_spec.rb @@ -1,4 +1,4 @@ -require 'spec_helper' +require "spec_helper" describe Feature do before do @@ -8,11 +8,11 @@ describe Feature do allow(described_class).to receive(:enabled?).and_call_original end - describe '.get' do + describe ".get" do let(:feature) { double(:feature) } - let(:key) { 'my_feature' } + let(:key) { "my_feature" } - it 'returns the Flipper feature' do + it "returns the Flipper feature" do expect_any_instance_of(Flipper::DSL).to receive(:feature).with(key) .and_return(feature) @@ -20,19 +20,19 @@ describe Feature do end end - describe '.persisted_names' do - it 'returns the names of the persisted features' do - Feature::FlipperFeature.create!(key: 'foo') + describe ".persisted_names" do + it "returns the names of the persisted features" do + Feature::FlipperFeature.create!(key: "foo") expect(described_class.persisted_names).to eq(%w[foo]) end - it 'returns an empty Array when no features are presisted' do + it "returns an empty Array when no features are presisted" do expect(described_class.persisted_names).to be_empty end - it 'caches the feature names when request store is active', :request_store do - Feature::FlipperFeature.create!(key: 'foo') + it "caches the feature names when request store is active", :request_store do + Feature::FlipperFeature.create!(key: "foo") expect(Feature::FlipperFeature) .to receive(:feature_names) @@ -45,18 +45,18 @@ describe Feature do end end - describe '.persisted?' do - context 'when the feature is persisted' do - it 'returns true when feature name is a string' do - Feature::FlipperFeature.create!(key: 'foo') + describe ".persisted?" do + context "when the feature is persisted" do + it "returns true when feature name is a string" do + Feature::FlipperFeature.create!(key: "foo") - feature = double(:feature, name: 'foo') + feature = double(:feature, name: "foo") expect(described_class.persisted?(feature)).to eq(true) end - it 'returns true when feature name is a symbol' do - Feature::FlipperFeature.create!(key: 'foo') + it "returns true when feature name is a symbol" do + Feature::FlipperFeature.create!(key: "foo") feature = double(:feature, name: :foo) @@ -64,14 +64,14 @@ describe Feature do end end - context 'when the feature is not persisted' do - it 'returns false when feature name is a string' do - feature = double(:feature, name: 'foo') + context "when the feature is not persisted" do + it "returns false when feature name is a string" do + feature = double(:feature, name: "foo") expect(described_class.persisted?(feature)).to eq(false) end - it 'returns false when feature name is a symbol' do + it "returns false when feature name is a symbol" do feature = double(:feature, name: :bar) expect(described_class.persisted?(feature)).to eq(false) @@ -79,10 +79,10 @@ describe Feature do end end - describe '.all' do + describe ".all" do let(:features) { Set.new } - it 'returns the Flipper features as an array' do + it "returns the Flipper features as an array" do expect_any_instance_of(Flipper::DSL).to receive(:features) .and_return(features) @@ -90,13 +90,13 @@ describe Feature do end end - describe '.flipper' do + describe ".flipper" do before do described_class.instance_variable_set(:@flipper, nil) end - context 'when request store is inactive' do - it 'memoizes the Flipper instance' do + context "when request store is inactive" do + it "memoizes the Flipper instance" do expect(Flipper).to receive(:new).once.and_call_original 2.times do @@ -105,8 +105,8 @@ describe Feature do end end - context 'when request store is active', :request_store do - it 'memoizes the Flipper instance' do + context "when request store is active", :request_store do + it "memoizes the Flipper instance" do expect(Flipper).to receive(:new).once.and_call_original described_class.flipper @@ -116,67 +116,67 @@ describe Feature do end end - describe '.enabled?' do - it 'returns false for undefined feature' do + describe ".enabled?" do + it "returns false for undefined feature" do expect(described_class.enabled?(:some_random_feature_flag)).to be_falsey end - it 'returns true for undefined feature with default_enabled' do + it "returns true for undefined feature with default_enabled" do expect(described_class.enabled?(:some_random_feature_flag, default_enabled: true)).to be_truthy end - it 'returns false for existing disabled feature in the database' do + it "returns false for existing disabled feature in the database" do described_class.disable(:disabled_feature_flag) expect(described_class.enabled?(:disabled_feature_flag)).to be_falsey end - it 'returns true for existing enabled feature in the database' do + it "returns true for existing enabled feature in the database" do described_class.enable(:enabled_feature_flag) expect(described_class.enabled?(:enabled_feature_flag)).to be_truthy end - context 'with an individual actor' do + context "with an individual actor" do CustomActor = Struct.new(:flipper_id) - let(:actor) { CustomActor.new(flipper_id: 'CustomActor:5') } - let(:another_actor) { CustomActor.new(flipper_id: 'CustomActor:10') } + let(:actor) { CustomActor.new(flipper_id: "CustomActor:5") } + let(:another_actor) { CustomActor.new(flipper_id: "CustomActor:10") } before do described_class.enable(:enabled_feature_flag, actor) end - it 'returns true when same actor is informed' do + it "returns true when same actor is informed" do expect(described_class.enabled?(:enabled_feature_flag, actor)).to be_truthy end - it 'returns false when different actor is informed' do + it "returns false when different actor is informed" do expect(described_class.enabled?(:enabled_feature_flag, another_actor)).to be_falsey end - it 'returns false when no actor is informed' do + it "returns false when no actor is informed" do expect(described_class.enabled?(:enabled_feature_flag)).to be_falsey end end end - describe '.disable?' do - it 'returns true for undefined feature' do + describe ".disable?" do + it "returns true for undefined feature" do expect(described_class.disabled?(:some_random_feature_flag)).to be_truthy end - it 'returns false for undefined feature with default_enabled' do + it "returns false for undefined feature with default_enabled" do expect(described_class.disabled?(:some_random_feature_flag, default_enabled: true)).to be_falsey end - it 'returns true for existing disabled feature in the database' do + it "returns true for existing disabled feature in the database" do described_class.disable(:disabled_feature_flag) expect(described_class.disabled?(:disabled_feature_flag)).to be_truthy end - it 'returns false for existing enabled feature in the database' do + it "returns false for existing enabled feature in the database" do described_class.enable(:enabled_feature_flag) expect(described_class.disabled?(:enabled_feature_flag)).to be_falsey @@ -184,14 +184,14 @@ describe Feature do end describe Feature::Target do - describe '#targets' do + describe "#targets" do let(:project) { create(:project) } let(:group) { create(:group) } let(:user_name) { project.owner.username } subject { described_class.new(user: user_name, project: project.full_path, group: group.full_path) } - it 'returns all found targets' do + it "returns all found targets" do expect(subject.targets).to be_an(Array) expect(subject.targets).to eq([project.owner, project, group]) end |