diff options
Diffstat (limited to 'qa/spec/scenario/test/instance/all_spec.rb')
-rw-r--r-- | qa/spec/scenario/test/instance/all_spec.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/qa/spec/scenario/test/instance/all_spec.rb b/qa/spec/scenario/test/instance/all_spec.rb new file mode 100644 index 00000000000..bc0b21c6494 --- /dev/null +++ b/qa/spec/scenario/test/instance/all_spec.rb @@ -0,0 +1,39 @@ +describe QA::Scenario::Test::Instance::All do + context '#perform' do + let(:arguments) { spy('Runtime::Scenario') } + let(:release) { spy('Runtime::Release') } + let(:runner) { spy('Specs::Runner') } + + before do + stub_const('QA::Runtime::Release', release) + stub_const('QA::Runtime::Scenario', arguments) + stub_const('QA::Specs::Runner', runner) + + allow(runner).to receive(:perform).and_yield(runner) + end + + it 'sets an address of the subject' do + subject.perform("hello") + + expect(arguments).to have_received(:define) + .with(:gitlab_address, "hello") + end + + context 'no paths' do + it 'calls runner with default arguments' do + subject.perform("test") + + expect(runner).to have_received(:options=) + .with(::File.expand_path('../../../../../qa/specs/features', __dir__)) + end + end + + context 'specifying paths' do + it 'calls runner with paths' do + subject.perform('test', 'path1', 'path2') + + expect(runner).to have_received(:options=).with(%w[path1 path2]) + end + end + end +end |