public function testRejectsASchemaThatUsesAnInputTypeAsAField()
{
$kinds = ['GraphQL\\Type\\Definition\\ObjectType'];
foreach ($kinds as $kind) {
$someOutputType = new $kind(['name' => 'SomeOutputType', 'fields' => function () {
return ['sneaky' => $this->someInputObjectType];
}]);
$schema = new Schema(['query' => $someOutputType]);
$validationResult = SchemaValidator::validate($schema, [SchemaValidator::noInputTypesAsOutputFieldsRule()]);
$this->assertSame(1, count($validationResult));
$this->assertSame('Field SomeOutputType.sneaky is of type SomeInputObject, which is an ' . 'input type, but field types must be output types!', $validationResult[0]->message);
}
}