Sha256: 4919947d7e0a8b7f5dc13f43f71ad4cc1ca11723c32d192caa935e3ad352af90

Contents?: true

Size: 820 Bytes

Versions: 1

Compression:

Stored size: 820 Bytes

Contents

# frozen_string_literal: true

require 'api-tester/reporter/missing_field_report'

module ApiTester
  # Ensures all fields defined in contract are returned during test suite
  module UnusedFields
    def self.go(contract)
      reports = []

      contract.endpoints.each do |endpoint|
        endpoint.methods.each do |method|
          method.expected_response.body.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

    def self.order
      99
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
api-tester-1.1.1 lib/api-tester/modules/unused_fields.rb