class AirborneReport::Report
Public Class Methods
blank()
click to toggle source
# File lib/airborne_report/report.rb, line 35 def self.blank { 'tests' => {} } end
new(before_json, notification)
click to toggle source
# File lib/airborne_report/report.rb, line 3 def initialize(before_json, notification) after_json = {} statuses = { 'all' => 0, 'passed' => 0, 'failed' => 0, 'pending' => 0 } notification.examples.map do |example| location = example.metadata[:location] hash = {} e = example.exception if e hash['exception'] = { 'class' => e.class.name, 'message' => e.message, 'backtrace' => e.backtrace, } end after_json[location] = craft_example(before_json, location, example).merge(hash) statuses = increment_statuses(statuses, example) end @json = { 'statuses' => statuses, 'tests' => after_json } end
Public Instance Methods
to_hash()
click to toggle source
# File lib/airborne_report/report.rb, line 41 def to_hash @json end
Private Instance Methods
craft_example(before_json, location, example)
click to toggle source
# File lib/airborne_report/report.rb, line 47 def craft_example(before_json, location, example) if before_json[location] Message.extra(example).to_hash.merge('responses' => before_json[location]) else Message.extra(example).to_hash end end
increment_statuses(old_statuses, example)
click to toggle source
# File lib/airborne_report/report.rb, line 55 def increment_statuses(old_statuses, example) new_statuses = old_statuses new_statuses['all'] += 1 new_statuses[example.execution_result.status.to_s] += 1 new_statuses end