summaryrefslogtreecommitdiff
path: root/spec/lib/feature_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/feature_spec.rb')
-rw-r--r--spec/lib/feature_spec.rb92
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