Class: ApiMiniTester::TestScenario

Inherits:
Object
  • Object
show all
Defined in:
lib/api_mini_tester/test_scenario.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_uri, scenario, data) ⇒ TestScenario

Returns a new instance of TestScenario.



8
9
10
11
12
13
14
# File 'lib/api_mini_tester/test_scenario.rb', line 8

def initialize(base_uri, scenario, data)
  @base_uri = base_uri
  @scenario = scenario
  @data = data
  @name = scenario['name']
  @results = {name: scenario['name'], desc: scenario['desc'], steps: []}
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



6
7
8
# File 'lib/api_mini_tester/test_scenario.rb', line 6

def base_uri
  @base_uri
end

#dataObject (readonly)

Returns the value of attribute data.



6
7
8
# File 'lib/api_mini_tester/test_scenario.rb', line 6

def data
  @data
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/api_mini_tester/test_scenario.rb', line 6

def name
  @name
end

#resultsObject (readonly)

Returns the value of attribute results.



6
7
8
# File 'lib/api_mini_tester/test_scenario.rb', line 6

def results
  @results
end

#scenarioObject (readonly)

Returns the value of attribute scenario.



6
7
8
# File 'lib/api_mini_tester/test_scenario.rb', line 6

def scenario
  @scenario
end

Instance Method Details

#add_result(result) ⇒ Object



24
25
26
# File 'lib/api_mini_tester/test_scenario.rb', line 24

def add_result(result)
  @results.steps << result
end


28
29
30
31
32
# File 'lib/api_mini_tester/test_scenario.rb', line 28

def print_results
  @results.each do |line|
    puts line
  end
end

#run_scenarioObject



34
35
36
37
38
39
40
41
42
# File 'lib/api_mini_tester/test_scenario.rb', line 34

def run_scenario
  @context = []
  scenario['steps'].each do |step|
    step = TestStep.new(base_uri, step, @context, data)
    step_result, context = step.run_step
    @results[:steps] << step_result
    @context << context
  end
end

#valid?Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
# File 'lib/api_mini_tester/test_scenario.rb', line 16

def valid?
  return false if scenario.nil? || scenario['steps'].nil?
  return false unless scenario['steps'].is_a?(Array) || scenario['steps'].empty?
  return false if name.nil? || name.empty?
  return false if base_uri.nil? || base_uri.empty?
  true
end