Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/main/java/graphql/schema/GraphQLEnumType.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public Object coerceLiteral(Object input) {
if (!(input instanceof EnumValue)) return null;
EnumValue enumValue = (EnumValue) input;
GraphQLEnumValueDefinition enumValueDefinition = valueDefinitionMap.get(enumValue.getName());
if (enumValueDefinition == null) return null;
if (enumValueDefinition.getValue() != null) return enumValueDefinition.getValue();
return enumValueDefinition.getValue();
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/graphql/validation/TraversalContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ private void enterImpl(ObjectField objectField) {
GraphQLInputType inputType = null;
if (objectType instanceof GraphQLInputObjectType) {
GraphQLInputObjectField inputField = ((GraphQLInputObjectType) objectType).getField(objectField.getName());
inputType = inputField.getType();
if (inputField != null)
inputType = inputField.getType();
}
addInputType(inputType);
}
Expand Down
9 changes: 8 additions & 1 deletion src/test/groovy/graphql/validation/ValidationUtilTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,20 @@ class ValidationUtilTest extends Specification {
validationUtil.isValidLiteralValue(new EnumValue("PLUTO"), enumType)
}

def "invalid enum"() {
def "invalid enum value"() {
given:
def enumType = GraphQLEnumType.newEnum().name("enumType").value("PLUTO").build()
expect:
!validationUtil.isValidLiteralValue(new StringValue("MARS"), enumType)
}

def "invalid enum name"() {
given:
def enumType = GraphQLEnumType.newEnum().name("enumType").value("PLUTO").build()
expect:
!validationUtil.isValidLiteralValue(new EnumValue("MARS"), enumType)
}

def "a valid ObjectValue"() {
given:
def inputObjectType = GraphQLInputObjectType.newInputObject()
Expand Down