allow rspec files/options to be passed down in all cases

This commit is contained in:
Brett Walker 2018-03-26 13:29:45 +02:00
parent cb94afc561
commit dca785e56a
5 changed files with 12 additions and 12 deletions

View File

@ -23,7 +23,7 @@ module QA
arguments.parse!(argv)
self.perform(**Runtime::Scenario.attributes)
self.perform(Runtime::Scenario.attributes, *arguments.default_argv)
end
private

View File

@ -11,7 +11,7 @@ module QA
tags :core
def perform(address, *files)
def perform(address, *rspec_options)
Runtime::Scenario.define(:gitlab_address, address)
##
@ -22,9 +22,9 @@ module QA
Specs::Runner.perform do |specs|
specs.tty = true
specs.tags = self.class.focus
specs.files =
if files.any?
files
specs.options =
if rspec_options.any?
rspec_options
else
File.expand_path('../../specs/features', __dir__)
end

View File

@ -9,10 +9,10 @@ module QA
class Mattermost < Test::Instance
tags :core, :mattermost
def perform(address, mattermost, *files)
def perform(address, mattermost, *rspec_options)
Runtime::Scenario.define(:mattermost_address, mattermost)
super(address, *files)
super(address, *rspec_options)
end
end
end

View File

@ -3,19 +3,19 @@ require 'rspec/core'
module QA
module Specs
class Runner < Scenario::Template
attr_accessor :tty, :tags, :files
attr_accessor :tty, :tags, :options
def initialize
@tty = false
@tags = []
@files = [File.expand_path('./features', __dir__)]
@options = [File.expand_path('./features', __dir__)]
end
def perform
args = []
args.push('--tty') if tty
tags.to_a.each { |tag| args.push(['-t', tag.to_s]) }
args.push(files)
args.push(options)
Runtime::Browser.configure!

View File

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