Sha256: ec993824ba2e80008df2aaad53b144a296b5c48084aef91a356affc767362e1b

Contents?: true

Size: 1.07 KB

Versions: 16

Compression:

Stored size: 1.07 KB

Contents

require "spec_helper"

describe GraphQL::EnumType do
  let(:enum) { DairyAnimalEnum }

  it "coerces names to underlying values" do
    assert_equal("YAK", enum.coerce_input("YAK"))
    assert_equal(1, enum.coerce_input("COW"))
  end

  it "coerces invalid names to nil" do
    assert_equal(nil, enum.coerce_input("YAKKITY"))
  end

  it "coerces result values to value's value" do
    assert_equal("YAK", enum.coerce_result("YAK"))
    assert_equal("COW", enum.coerce_result(1))
  end

  it "has value description" do
    assert_equal("Animal with horns", enum.values["GOAT"].description)
  end

  describe "validate_input with bad input" do
    let(:result) { DairyAnimalEnum.validate_input("bad enum") }

    it "returns an invalid result" do
      assert(!result.valid?)
    end
  end

  it "accepts values array" do
    cow = GraphQL::EnumType::EnumValue.define(name: "COW")
    goat = GraphQL::EnumType::EnumValue.define(name: "GOAT")
    enum = GraphQL::EnumType.define(name: "DairyAnimal", values: [cow, goat])
    assert_equal({ "COW" => cow, "GOAT" => goat }, enum.values)
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
graphql-1.0.0 spec/graphql/enum_type_spec.rb
graphql-0.19.4 spec/graphql/enum_type_spec.rb
graphql-0.19.3 spec/graphql/enum_type_spec.rb
graphql-0.19.2 spec/graphql/enum_type_spec.rb
graphql-0.19.1 spec/graphql/enum_type_spec.rb
graphql-0.19.0 spec/graphql/enum_type_spec.rb
graphql-0.18.15 spec/graphql/enum_type_spec.rb
graphql-0.18.14 spec/graphql/enum_type_spec.rb
graphql-0.18.13 spec/graphql/enum_type_spec.rb
graphql-0.18.12 spec/graphql/enum_type_spec.rb
graphql-0.18.11 spec/graphql/enum_type_spec.rb
graphql-0.18.10 spec/graphql/enum_type_spec.rb
graphql-0.18.9 spec/graphql/enum_type_spec.rb
graphql-0.18.8 spec/graphql/enum_type_spec.rb
graphql-0.18.7 spec/graphql/enum_type_spec.rb
graphql-0.18.6 spec/graphql/enum_type_spec.rb