class Manacle::Example
Attributes
case[R]
description[R]
exception[R]
execution_result[R]
file_path[R]
full_description[R]
last_response[R]
metadata[R]
params[R]
run_time[R]
status[R]
Public Class Methods
new(example, last_response)
click to toggle source
# File lib/manacle/formatter.rb, line 9 def initialize(example, last_response) @description = example.description @full_description = build_description(example) @execution_result = example.execution_result # @run_time = RSpec::Core::Formatters::Helpers.format_duration(@execution_result.run_time) @run_time = execution_result.run_time @status = @execution_result.status.to_s @metadata = example.metadata @exception = example.exception @file_path = @metadata[:file_path] @last_response = last_response if ['passed', 'failed'].include?(@status) # @last_response = last_response @case = @metadata[:case] @params = @metadata[:params] @params ||= build_params(example) end
Public Instance Methods
build_description(example)
click to toggle source
# File lib/manacle/formatter.rb, line 44 def build_description(example) full_description = [example.description, example.example_group.description] parent = example.example_group.parent while parent.is_a?(Class) full_description << parent.try(:description) parent = parent.parent end full_description.reverse.join('<br/>') end
build_params(example)
click to toggle source
# File lib/manacle/formatter.rb, line 26 def build_params(example) return [] if last_response.nil? xml = Nokogiri::XML(last_response.request.options[:body]) ns = {ns: 'http://www.quantiguous.com/services'} params = [] example.example_group.described_class.param_defaults.each do |pv| p = pv.keys.first; v = pv.values.first if v.nil? params << xml.at_xpath("//ns:#{p}", ns).name.to_sym unless xml.at_xpath("//ns:#{p}", ns).nil? else params << xml.at_xpath("//ns:#{p}", ns).name.to_sym unless xml.at_xpath("//ns:#{p}", ns).try(:text) == v end end params end
param_value(param)
click to toggle source
# File lib/manacle/formatter.rb, line 54 def param_value(param) @reqDoc ||= Nokogiri::XML(@last_response.request.options[:body]) @reqDoc.at_xpath('//ns:' + param.to_s, 'ns' => 'http://www.quantiguous.com/services').try(:text) end