Skip to content

Commit

Permalink
Merge pull request #843 from xuorig/print-type-duplicate-enum
Browse files Browse the repository at this point in the history
Print Enum name when raising duplicate value error.
  • Loading branch information
Robert Mosolgo committed Jul 14, 2017
2 parents b8a12e4 + 4f72dc4 commit 488b05d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lib/graphql/enum_type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def values=(new_values)
# @param enum_value [EnumValue] A value to add to this type's set of values
def add_value(enum_value)
if @values_by_name.key?(enum_value.name)
raise "Enum value names must be unique. `#{enum_value.name}` already exists."
raise "Enum value names must be unique. Value `#{enum_value.name}` already exists on Enum `#{name}`."
end

@values_by_name[enum_value.name] = enum_value
Expand Down
6 changes: 5 additions & 1 deletion spec/graphql/enum_type_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,13 @@

describe "validates enum value name uniqueness" do
it "raises an exception when adding a duplicate enum value name" do
assert_raises "Enum value names must be unique. `COW` already exists." do
expected_message = "Enum value names must be unique. Value `COW` already exists on Enum `DairyAnimal`."

exception = assert_raises do
enum.add_value(GraphQL::EnumType::EnumValue.define(name: "COW"))
end

assert_equal(expected_message, exception.message)
end
end
end

0 comments on commit 488b05d

Please sign in to comment.