Sha256: f6227ac27176fa3309102b8b11ccc82ce2f9799c18d502b106760a990143d513

Contents?: true

Size: 725 Bytes

Versions: 5

Compression:

Stored size: 725 Bytes

Contents

require "minitest_helper"

module Hermod
  module Validators
    describe AllowedValues do
      subject do
        AllowedValues.new(%w(Antelope Bear Cat Dog Elephant))
      end

      it "permits values in the list" do
        expect(subject.valid?("Cat", {})).must_equal true
      end

      it "allows blank values" do
        expect(subject.valid?("", {})).must_equal true
        expect(subject.valid?(nil, {})).must_equal true
      end

      it "raises an error for values not in the list" do
        ex = expect { subject.valid?("Albatross", {}) }.must_raise InvalidInputError
        expect(ex.message).must_equal "must be one of Antelope, Bear, Cat, Dog, or Elephant, not Albatross"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hermod-3.3.0 spec/hermod/validators/allowed_values_spec.rb
hermod-3.2.0 spec/hermod/validators/allowed_values_spec.rb
hermod-3.0.0 spec/hermod/validators/allowed_values_spec.rb
hermod-2.7.0 spec/hermod/validators/allowed_values_spec.rb
hermod-2.7.0.pre.rc.1 spec/hermod/validators/allowed_values_spec.rb