Sha256: 14937da58e1d8dfc5578cf1288c8040f5f6f0c039bbc5389ba579f8aaeb98f93

Contents?: true

Size: 730 Bytes

Versions: 2

Compression:

Stored size: 730 Bytes

Contents

# frozen_string_literal: true

require 'api-tester/definition/fields/field'

module ApiTester
  # Class for defining enumerators
  class EnumField < Field
    attr_accessor :acceptable_values

    def initialize(name:, acceptable_values:, default: nil, required: false)
      if default
        super name: name, default: default, required: required
      else
        super name: name, default: acceptable_values[0], required: required
      end

      self.acceptable_values = acceptable_values
    end

    def negative_boundary_values
      super +
        [
          123,
          0,
          1,
          true,
          false,
          {}
        ]
    end

    def good_cases
      acceptable_values
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
api-tester-1.1.3 lib/api-tester/definition/fields/enum_field.rb
api-tester-1.1.2 lib/api-tester/definition/fields/enum_field.rb