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) arguments.parse!(argv)
self.perform(**Runtime::Scenario.attributes) self.perform(Runtime::Scenario.attributes, *arguments.default_argv)
end end
private private

View file

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

View file

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

View file

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

View file

@ -29,7 +29,7 @@ describe QA::Scenario::Test::Instance 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(:files=) expect(runner).to have_received(:options=)
.with(File.expand_path('../../../qa/specs/features', __dir__)) .with(File.expand_path('../../../qa/specs/features', __dir__))
end end
end end
@ -38,7 +38,7 @@ describe QA::Scenario::Test::Instance 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(:files=).with(%w[path1 path2]) expect(runner).to have_received(:options=).with(%w[path1 path2])
end end
end end
end end