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, defaults, debug = false) ⇒ TestScenario

Returns a new instance of TestScenario.



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

def initialize(base_uri, scenario, data, defaults, debug = false)
  @base_uri = base_uri
  @scenario = scenario
  @data = data
  @name = scenario['name']
  @defaults = defaults
  @debug = debug
  @results = {name: @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

#debugObject (readonly)

Returns the value of attribute debug.



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

def debug
  @debug
end

#defaultsObject (readonly)

Returns the value of attribute defaults.



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

def defaults
  @defaults
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



27
28
29
# File 'lib/api_mini_tester/test_scenario.rb', line 27

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


31
32
33
34
35
# File 'lib/api_mini_tester/test_scenario.rb', line 31

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

#run_scenarioObject



37
38
39
40
41
42
43
44
45
# File 'lib/api_mini_tester/test_scenario.rb', line 37

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

#valid?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
# File 'lib/api_mini_tester/test_scenario.rb', line 18

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