type ComplicatedArgs { intArgField(intArg: Int): String nonNullIntArgField(nonNullIntArg: Int!): String stringArgField(stringArg: String): String booleanArgField(booleanArg: Boolean): String enumArgField(enumArg: FurColor): String floatArgField(floatArg: Float): String idArgField(idArg: ID): String stringListArgField(stringListArg: [String]): String stringListNonNullArgField(stringListNonNullArg: [String!]): String complexArgField(complexArg: ComplexInput): String multipleReqs(req1: Int!, req2: Int!): String nonNullFieldWithDefault(arg: Int! = 0): String multipleOpts(opt1: Int = 0, opt2: Int = 0): String multipleOptAndReq(req1: Int!, req2: Int!, opt1: Int = 0, opt2: Int = 0): String } enum FurColor { BROWN BLACK TAN SPOTTED NO_FUR UNKNOWN } input ComplexInput { requiredField: Boolean! nonNullField: Boolean! = false intField: Int stringField: String booleanField: Boolean stringListField: [String] } enum DogCommand { SIT HEEL DOWN } type Dog { doesKnowCommand(dogCommand: DogCommand): Boolean name(surname: Boolean): String isHouseTrained(atOtherHomes: Boolean = true): Boolean } interface Pet { name(surname: Boolean): String } type Query { complicatedArgs: ComplicatedArgs dog: Dog human(id: ID): Human } type Human { name(surname: Boolean): String pets: [Pet] relatives: [Human]! } query intIntoString { complicatedArgs { stringArgField(stringArg: 1) } } query floatIntoString { complicatedArgs { stringArgField(stringArg: 1.0) } } query booleanIntoString { complicatedArgs { stringArgField(stringArg: true) } } query unquotedStringIntoString { complicatedArgs { stringArgField(stringArg: BAR) } } query stringIntoInt { complicatedArgs { intArgField(intArg: "3") } } query bigIntIntoInt { complicatedArgs { intArgField(intArg: 829384293849283498239482938) } } query unquotedStringIntoInt { complicatedArgs { intArgField(intArg: FOO) } } query simpleFloatIntoInt { complicatedArgs { intArgField(intArg: 3.0) } } query floatIntoInt { complicatedArgs { intArgField(intArg: 3.333) } } query stringIntoFloat { complicatedArgs { floatArgField(floatArg: "3.333") } } query booleanIntoFloat { complicatedArgs { floatArgField(floatArg: true) } } query unquotedIntoFloat { complicatedArgs { floatArgField(floatArg: FOO) } } query intIntoBoolean { complicatedArgs { booleanArgField(booleanArg: 2) } } query floatIntoBoolean { complicatedArgs { booleanArgField(booleanArg: 1.0) } } query stringIntoBoolean { complicatedArgs { booleanArgField(booleanArg: "true") } } query unquotedIntoBoolean { complicatedArgs { booleanArgField(booleanArg: TRUE) } } query floatIntoId { complicatedArgs { idArgField(idArg: 1.0) } } query booleanIntoID { complicatedArgs { idArgField(idArg: true) } } query unquotedIntoID { complicatedArgs { idArgField(idArg: SOMETHING) } } query intIntoEnum { dog { doesKnowCommand(dogCommand: 2) } } query floatIntoEnum { dog { doesKnowCommand(dogCommand: 1.0) } } query stringIntoEnum { dog { doesKnowCommand(dogCommand: "SIT") } } query booleanIntoEnum { dog { doesKnowCommand(dogCommand: true) } } query unknownEnumValueIntoEnum { dog { doesKnowCommand(dogCommand: JUGGLE) } } query differentCaseEnumValueIntoEnum { dog { doesKnowCommand(dogCommand: sit) } } query incorrectListItemType { complicatedArgs { stringListArgField(stringListArg: ["one", 2]) } } query singleValueOfIncorrectType { complicatedArgs { stringListArgField(stringListArg: 1) } } query incorrectValueType { complicatedArgs { multipleReqs(req2: "two", req1: "one") } } query incorrectValueAndMissingArgument { complicatedArgs { multipleReqs(req1: "one") } } query nullValue { complicatedArgs { multipleReqs(req1: null) } } query partialObjectMissingField { complicatedArgs { complexArgField(complexArg: {intField: 4}) } } query partialObjectInvalidFieldType { complicatedArgs { complexArgField(complexArg: {stringListField: ["one", 2], requiredField: true}) } } query partialObjectNullToNonNullField { complicatedArgs { complexArgField(complexArg: {requiredField: true, nonNullField: null}) } } query partialObjectUnknownFieldArg { complicatedArgs { complexArgField(complexArg: {requiredField: true, invalidField: "value"}) } } query withDirectiveWithIncorrectTypes { dog @include(if: "yes") { name @skip(if: ENUM) } } query variablesWithInvalidDefaultNullValues($a: Int! = null, $b: String! = null, $c: ComplexInput = {requiredField: null, intField: null}) { complicatedArgs { complexArgField(complexArg: $c) intArgField(intArg: $a) stringArgField(stringArg: $b) } } query variablesWithInvalidDefaultValues($a: Int = "one", $b: String = 4, $c: ComplexInput = "NotVeryComplex") { complicatedArgs { complexArgField(complexArg: $c) intArgField(intArg: $a) stringArgField(stringArg: $b) } } query variablesWithComplexInvalidDefaultValues($a: ComplexInput = {requiredField: 123, intField: "abc"}) { complicatedArgs { complexArgField(complexArg: $a) } } query complexVariablesMissingRequiredField($a: ComplexInput = {intField: 3}) { complicatedArgs { complexArgField(complexArg: $a) } } query listVariablesWithInvalidItem($a: [String] = ["one", 2]) { complicatedArgs { stringListArgField(stringListArg: $a) } }