Class: Fitting::Templates::RealizedTemplate

Inherits:
Object
  • Object
show all
Defined in:
lib/fitting/templates/realized_template.rb

Instance Method Summary collapse

Constructor Details

#initialize(realized_unit) ⇒ RealizedTemplate

Returns a new instance of RealizedTemplate.



4
5
6
# File 'lib/fitting/templates/realized_template.rb', line 4

def initialize(realized_unit)
  @realized_unit = realized_unit
end

Instance Method Details

#to_sObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/fitting/templates/realized_template.rb', line 8

def to_s
  res = ''
  res += "1. Find request method and path:\n"
  @realized_unit.test_file_paths.each do |key, requests|
    all_good = requests.all?(&:documented?)
    res += "file: #{key} #{all_good ? '' : ''}\n"
  end
  res += "\n2. Find response status code:\n"
  @realized_unit.test_file_paths.each do |key, requests|
    all_good = requests.all?(&:response_documented?)
    res += "file: #{key} #{all_good ? '' : ''}\n"
  end
  res += "\n3. Find response json-schemas:\n"
  @realized_unit.test_file_paths.each do |key, requests|
    all_good = requests.all?(&:response_json_schemas?)
    res += "file: #{key} #{all_good ? '' : ''}\n"
  end
  res += "\n4. Check valid json-schemas:\n"
  @realized_unit.test_file_paths.each do |key, requests|
    all_good = requests.all?(&:valid_json_schemas?)
    res += "path: #{key} #{all_good ? '' : ''}\n"
    next if all_good
    requests.map do |request|
      next if request.valid_json_schemas?
      res += "  full path: #{request.test_path} ✖\n"
      res += "    request.method #{request.method}\n"
      res += "    request.path #{request.path}\n"
      res += "    request.response.status #{request.response.status}\n"
      res += "    request.response.body #{request.response.body}\n\n"
      request.invalid_json_schemas.map do |schema|
        res += "    json_schemas: #{schema[:json_schema]}\n"
        res += "    fully_validate: #{schema[:fully_validate]}\n\n"
      end
    end
  end
  res
end