Add spec for QA::Scenario::Entrypoint
For added confidence, and because I plan to fiddle with some behaviours shortly, add spec testing to the newly extracted QA::Scenario::Entrypoint class.
This commit is contained in:
parent
95e56a6175
commit
4598c00a8f
|
@ -0,0 +1,46 @@
|
|||
describe QA::Scenario::Entrypoint do
|
||||
subject do
|
||||
Class.new(QA::Scenario::Entrypoint) do
|
||||
tags :rspec
|
||||
end
|
||||
end
|
||||
|
||||
context '#perform' do
|
||||
let(:config) { spy('Specs::Config') }
|
||||
let(:release) { spy('Runtime::Release') }
|
||||
let(:runner) { spy('Specs::Runner') }
|
||||
|
||||
before do
|
||||
allow(config).to receive(:perform) { |&block| block.call config }
|
||||
allow(runner).to receive(:perform) { |&block| block.call runner }
|
||||
|
||||
stub_const('QA::Specs::Config', config)
|
||||
stub_const('QA::Runtime::Release', release)
|
||||
stub_const('QA::Specs::Runner', runner)
|
||||
end
|
||||
|
||||
it 'should set address' do
|
||||
subject.perform("hello")
|
||||
|
||||
expect(config).to have_received(:address=).with("hello")
|
||||
end
|
||||
|
||||
context 'no paths' do
|
||||
it 'should call runner with default arguments' do
|
||||
subject.perform("test")
|
||||
|
||||
expect(runner).to have_received(:rspec)
|
||||
.with(hash_including(files: 'qa/specs/features'))
|
||||
end
|
||||
end
|
||||
|
||||
context 'specifying paths' do
|
||||
it 'should call runner with paths' do
|
||||
subject.perform('test', 'path1', 'path2')
|
||||
|
||||
expect(runner).to have_received(:rspec)
|
||||
.with(hash_including(files: %w(path1 path2)))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue