diff options
author | Dimitrie Hoekstra <dimitrie@gitlab.com> | 2017-03-17 17:04:51 +0000 |
---|---|---|
committer | Dimitrie Hoekstra <dimitrie@gitlab.com> | 2017-03-17 17:04:51 +0000 |
commit | b6bab6ce47813c67ea1e2c7d4fde7d9e320da99c (patch) | |
tree | 6c1b7db2aeebc5756c73842cffef22df655cc820 /qa/spec/runtime/release_spec.rb | |
parent | 116efdaf128ddcccc30fb82615cd964b35cacc53 (diff) | |
parent | bb1620aaf712c22c61fda098260f481ad79a05e2 (diff) | |
download | gitlab-ce-focus-mode-board.tar.gz |
Merge branch 'master' into 'focus-mode-board'focus-mode-board
# Conflicts:
# app/views/shared/issuable/_filter.html.haml
Diffstat (limited to 'qa/spec/runtime/release_spec.rb')
-rw-r--r-- | qa/spec/runtime/release_spec.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/qa/spec/runtime/release_spec.rb b/qa/spec/runtime/release_spec.rb new file mode 100644 index 00000000000..e6b5a8dc315 --- /dev/null +++ b/qa/spec/runtime/release_spec.rb @@ -0,0 +1,50 @@ +describe QA::Runtime::Release do + context 'when release version has extension strategy' do + let(:strategy) { spy('strategy') } + + before do + stub_const('QA::CE::Strategy', strategy) + stub_const('QA::EE::Strategy', strategy) + end + + describe '#version' do + it 'return either CE or EE version' do + expect(subject.version).to eq(:CE).or eq(:EE) + end + end + + describe '#strategy' do + it 'return the strategy constant' do + expect(subject.strategy).to eq strategy + end + end + + describe 'delegated class methods' do + it 'delegates all calls to strategy class' do + described_class.some_method(1, 2) + + expect(strategy).to have_received(:some_method) + .with(1, 2) + end + end + end + + context 'when release version does not have extension strategy' do + before do + allow_any_instance_of(described_class) + .to receive(:version).and_return('something') + end + + describe '#strategy' do + it 'raises error' do + expect { subject.strategy }.to raise_error(LoadError) + end + end + + describe 'delegated class methods' do + it 'raises error' do + expect { described_class.some_method(2, 3) }.to raise_error(LoadError) + end + end + end +end |