Add tests for QA test selectors sanity scenario

This commit is contained in:
Grzegorz Bizon 2018-01-09 14:36:09 +01:00
parent 7725a7071d
commit ffd109af4e
2 changed files with 42 additions and 2 deletions

View File

@ -15,7 +15,7 @@ module QA
validators.map(&:errors).flatten.tap do |errors|
break if errors.none?
STDERR.puts <<~EOS
$stderr.puts <<~EOS
GitLab QA sanity selectors validation test detected problems
with your merge request!
@ -40,7 +40,7 @@ module QA
EOS
STDERR.puts errors
$stderr.puts errors
end
validators.each(&:validate!)

View File

@ -0,0 +1,40 @@
describe QA::Scenario::Test::Sanity::Selectors do
let(:validator) { spy('validator') }
before do
stub_const('QA::Page::Validator', validator)
end
context 'when there are errors detected' do
before do
allow(validator).to receive(:errors).and_return(['some error'])
end
it 'outputs information about errors' do
expect { described_class.perform }
.to output(/some error/).to_stderr
expect { described_class.perform }
.to output(/electors validation test detected problems/)
.to_stderr
end
end
context 'when there are no errors detected' do
before do
allow(validator).to receive(:errors).and_return([])
end
it 'processes pages module' do
described_class.perform
expect(validator).to have_received(:new).with(QA::Page)
end
it 'triggers validation' do
described_class.perform
expect(validator).to have_received(:validate!)
end
end
end