diff options
Diffstat (limited to 'qa/spec/runtime')
-rw-r--r-- | qa/spec/runtime/env_spec.rb | 66 |
1 files changed, 23 insertions, 43 deletions
diff --git a/qa/spec/runtime/env_spec.rb b/qa/spec/runtime/env_spec.rb index c06e2dba8e7..e298795c6cf 100644 --- a/qa/spec/runtime/env_spec.rb +++ b/qa/spec/runtime/env_spec.rb @@ -1,28 +1,28 @@ describe QA::Runtime::Env do include Support::StubENV - describe '.verbose?' do + shared_examples 'boolean method' do |method, env_key| context 'when there is an env variable set' do it 'returns false when falsey values specified' do - stub_env('VERBOSE', 'false') - expect(described_class.verbose?).to be_falsey + stub_env(env_key, 'false') + expect(described_class.public_send(method)).to be_falsey - stub_env('VERBOSE', 'no') - expect(described_class.verbose?).to be_falsey + stub_env(env_key, 'no') + expect(described_class.public_send(method)).to be_falsey - stub_env('VERBOSE', '0') - expect(described_class.verbose?).to be_falsey + stub_env(env_key, '0') + expect(described_class.public_send(method)).to be_falsey end it 'returns true when anything else specified' do - stub_env('VERBOSE', 'true') - expect(described_class.verbose?).to be_truthy + stub_env(env_key, 'true') + expect(described_class.public_send(method)).to be_truthy - stub_env('VERBOSE', '1') - expect(described_class.verbose?).to be_truthy + stub_env(env_key, '1') + expect(described_class.public_send(method)).to be_truthy - stub_env('VERBOSE', 'anything') - expect(described_class.verbose?).to be_truthy + stub_env(env_key, 'anything') + expect(described_class.public_send(method)).to be_truthy end end @@ -34,37 +34,12 @@ describe QA::Runtime::Env do end end - describe '.chrome_headless?' do - context 'when there is an env variable set' do - it 'returns false when falsey values specified' do - stub_env('CHROME_HEADLESS', 'false') - expect(described_class.chrome_headless?).to be_falsey - - stub_env('CHROME_HEADLESS', 'no') - expect(described_class.chrome_headless?).to be_falsey - - stub_env('CHROME_HEADLESS', '0') - expect(described_class.chrome_headless?).to be_falsey - end - - it 'returns true when anything else specified' do - stub_env('CHROME_HEADLESS', 'true') - expect(described_class.chrome_headless?).to be_truthy - - stub_env('CHROME_HEADLESS', '1') - expect(described_class.chrome_headless?).to be_truthy - - stub_env('CHROME_HEADLESS', 'anything') - expect(described_class.chrome_headless?).to be_truthy - end - end + describe '.verbose?' do + it_behaves_like 'boolean method', :verbose?, 'VERBOSE' + end - context 'when there is no env variable set' do - it 'returns the default, true' do - stub_env('CHROME_HEADLESS', nil) - expect(described_class.chrome_headless?).to be_truthy - end - end + describe '.chrome_headless?' do + it_behaves_like 'boolean method', :chrome_headless?, 'CHROME_HEADLESS' end describe '.running_in_ci?' do @@ -132,6 +107,11 @@ describe QA::Runtime::Env do end describe '.forker?' do + before do + stub_env('GITLAB_FORKER_USERNAME', nil) + stub_env('GITLAB_FORKER_PASSWORD', nil) + end + it 'returns false if no forker credentials are defined' do expect(described_class).not_to be_forker end |