diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
commit | 7e9c479f7de77702622631cff2628a9c8dcbc627 (patch) | |
tree | c8f718a08e110ad7e1894510980d2155a6549197 /spec/bin/feature_flag_spec.rb | |
parent | e852b0ae16db4052c1c567d9efa4facc81146e88 (diff) | |
download | gitlab-ce-7e9c479f7de77702622631cff2628a9c8dcbc627.tar.gz |
Add latest changes from gitlab-org/gitlab@13-6-stable-eev13.6.0-rc42
Diffstat (limited to 'spec/bin/feature_flag_spec.rb')
-rw-r--r-- | spec/bin/feature_flag_spec.rb | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/spec/bin/feature_flag_spec.rb b/spec/bin/feature_flag_spec.rb index 185a03fc587..710b1606923 100644 --- a/spec/bin/feature_flag_spec.rb +++ b/spec/bin/feature_flag_spec.rb @@ -13,7 +13,7 @@ RSpec.describe 'bin/feature-flag' do let(:options) { FeatureFlagOptionParser.parse(argv) } let(:creator) { described_class.new(options) } let(:existing_flags) do - { 'existing-feature-flag' => File.join('config', 'feature_flags', 'development', 'existing-feature-flag.yml') } + { 'existing_feature_flag' => File.join('config', 'feature_flags', 'development', 'existing_feature_flag.yml') } end before do @@ -32,12 +32,12 @@ RSpec.describe 'bin/feature-flag' do it 'properly creates a feature flag' do expect(File).to receive(:write).with( - File.join('config', 'feature_flags', 'development', 'feature-flag-name.yml'), + File.join('config', 'feature_flags', 'development', 'feature_flag_name.yml'), anything) expect do subject - end.to output(/name: feature-flag-name/).to_stdout + end.to output(/name: feature_flag_name/).to_stdout end context 'when running on master' do @@ -123,6 +123,29 @@ RSpec.describe 'bin/feature-flag' do end end + context 'when there is deprecated feature flag type' do + before do + stub_const('FeatureFlagOptionParser::TYPES', + development: { description: 'short' }, + deprecated: { description: 'deprecated', deprecated: true } + ) + end + + context 'and deprecated type is given' do + let(:type) { 'deprecated' } + + it 'shows error message and retries' do + expect($stdin).to receive(:gets).and_return(type) + expect($stdin).to receive(:gets).and_raise('EOF') + + expect do + expect { described_class.read_type }.to raise_error(/EOF/) + end.to output(/Specify the feature flag type/).to_stdout + .and output(/Invalid type specified/).to_stderr + end + end + end + context 'when there are many types defined' do before do stub_const('FeatureFlagOptionParser::TYPES', |