Module: ApiTester::UnusedFields

Defined in:
lib/api-tester/modules/unused_fields.rb

Overview

Ensures all fields defined in contract are returned during test suite

Class Method Summary collapse

Class Method Details

.go(contract) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/api-tester/modules/unused_fields.rb', line 8

def self.go(contract)
  reports = []

  contract.endpoints.each do |endpoint|
    endpoint.methods.each do |method|
      method.expected_response.body.filter(&:has_key).each do |field|
        next unless field.is_seen.zero?

        reports << MissingFieldReport.new(url: endpoint.url,
                                          verb: method.verb,
                                          expected_field: field.name,
                                          description: 'UnusedFieldsModule')
      end
    end
  end

  reports
end

.orderObject



27
28
29
# File 'lib/api-tester/modules/unused_fields.rb', line 27

def self.order
  99
end