module Reqres::TestSuitAdditions

Public Instance Methods

collect() click to toggle source

collects data from all tests

# File lib/reqres/test_suit_additions.rb, line 54
def collect
  if all_tests[self.class.name].nil?
    all_tests[self.class.name] = data_of_test
  else
    all_tests[self.class.name].merge!(data_of_test)
  end
end
data_of_test() click to toggle source

returns hash for each test

# File lib/reqres/test_suit_additions.rb, line 20
def data_of_test
  {__name__ =>
     {
       "request" => {
         "url" => request.url,
         "full_path" => request.fullpath,
         "params" => request.params.to_hash,
         "method" => request.method,
         "body" => request.body.read,
         "headers" => request_headers
       },
       "response" => {
         "code" => response.code,
         "body" => response.body,
         "headers" => response.headers
       }
     }
  }
end
request_headers() click to toggle source

request.headers is ActionDispatch::Http::Headers. It can’t be serialized right to yaml

# File lib/reqres/test_suit_additions.rb, line 42
def request_headers
  hdrs = Reqres.request_headers
  request.headers.inject({}) do |memo,(k,v)|
    if hdrs.include? k
      memo.merge(k => v)
    else
      memo
    end
  end
end