Refactor QA specs runners and improve specs

This commit is contained in:
Grzegorz Bizon 2017-11-10 09:57:47 +01:00
parent 3abae1a78d
commit 9a92c16a50
3 changed files with 14 additions and 10 deletions

View file

@ -16,11 +16,9 @@ module QA
Runtime::Release.perform_before_hooks Runtime::Release.perform_before_hooks
Specs::Runner.perform do |specs| Specs::Runner.perform do |specs|
specs.rspec( specs.tty = true
tty: true, specs.tags = self.class.get_tags
tags: self.class.get_tags, specs.files = files.any? ? files : 'qa/specs/features'
files: files.any? ? files : 'qa/specs/features'
)
end end
end end

View file

@ -3,7 +3,15 @@ require 'rspec/core'
module QA module QA
module Specs module Specs
class Runner < Scenario::Template class Runner < Scenario::Template
def perform(tty: false, tags: [], files: ['qa/specs/features']) attr_accessor :tty, :tags, :files
def initialize
@tty = false
@tags = []
@files = ['qa/specs/features']
end
def perform
args = [] args = []
args.push('--tty') if tty args.push('--tty') if tty
tags.to_a.each { |tag| args.push(['-t', tag.to_s]) } tags.to_a.each { |tag| args.push(['-t', tag.to_s]) }

View file

@ -29,8 +29,7 @@ describe QA::Scenario::Entrypoint do
it 'should call runner with default arguments' do it 'should call runner with default arguments' do
subject.perform("test") subject.perform("test")
expect(runner).to have_received(:rspec) expect(runner).to have_received(:files=).with('qa/specs/features')
.with(hash_including(files: 'qa/specs/features'))
end end
end end
@ -38,8 +37,7 @@ describe QA::Scenario::Entrypoint do
it 'should call runner with paths' do it 'should call runner with paths' do
subject.perform('test', 'path1', 'path2') subject.perform('test', 'path1', 'path2')
expect(runner).to have_received(:rspec) expect(runner).to have_received(:files=).with(%w[path1 path2])
.with(hash_including(files: %w(path1 path2)))
end end
end end
end end