func TestTypeSystem_EnumValues_DoesNotAcceptInternalValueVariableAsEnumInput(t *testing.T) { query := `query test($color: Int!) { colorEnum(fromEnum: $color) }` params := map[string]interface{}{ "color": 2, } expected := &graphql.Result{ Data: nil, Errors: []gqlerrors.FormattedError{ { Message: `Variable "$color" of type "Int!" used in position expecting type "Color".`, }, }, } result := executeEnumTypeTestWithParams(t, query, params) if !testutil.EqualErrorMessage(expected, result, 0) { t.Fatalf("Unexpected result, Diff: %v", testutil.Diff(expected, result)) } }
func TestTypeSystem_EnumValues_DoesNotAcceptEnumLiteralInPlaceOfInt(t *testing.T) { query := `{ colorEnum(fromInt: GREEN) }` expected := &graphql.Result{ Data: nil, Errors: []gqlerrors.FormattedError{ { Message: "Argument \"fromInt\" has invalid value GREEN.\nExpected type \"Int\", found GREEN.", Locations: []location.SourceLocation{ {Line: 1, Column: 23}, }, }, }, } result := executeEnumTypeTest(t, query) if !testutil.EqualErrorMessage(expected, result, 0) { t.Fatalf("Unexpected result, Diff: %v", testutil.Diff(expected, result)) } }
func TestTypeSystem_EnumValues_DoesNotAcceptInternalValueAsEnumVariable(t *testing.T) { query := `query test($color: Color!) { colorEnum(fromEnum: $color) }` params := map[string]interface{}{ "color": 2, } expected := &graphql.Result{ Data: nil, Errors: []gqlerrors.FormattedError{ { Message: "Variable \"$color\" got invalid value 2.\nExpected type \"Color\", found \"2\".", Locations: []location.SourceLocation{ {Line: 1, Column: 12}, }, }, }, } result := executeEnumTypeTestWithParams(t, query, params) if !testutil.EqualErrorMessage(expected, result, 0) { t.Fatalf("Unexpected result, Diff: %v", testutil.Diff(expected, result)) } }