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
Specs::Runner.perform do |specs|
specs.rspec(
tty: true,
tags: self.class.get_tags,
files: files.any? ? files : 'qa/specs/features'
)
specs.tty = true
specs.tags = self.class.get_tags
specs.files = files.any? ? files : 'qa/specs/features'
end
end

View file

@ -3,7 +3,15 @@ require 'rspec/core'
module QA
module Specs
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.push('--tty') if tty
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
subject.perform("test")
expect(runner).to have_received(:rspec)
.with(hash_including(files: 'qa/specs/features'))
expect(runner).to have_received(:files=).with('qa/specs/features')
end
end
@ -38,8 +37,7 @@ describe QA::Scenario::Entrypoint 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)))
expect(runner).to have_received(:files=).with(%w[path1 path2])
end
end
end