expectPassesRule(new ExecutableDefinitions, ' query Foo { dog { name } } '); } /** * @see it('with operation and fragment') */ public function testWithOperationAndFragment() { $this->expectPassesRule(new ExecutableDefinitions, ' query Foo { dog { name ...Frag } } fragment Frag on Dog { name } '); } /** * @see it('with typeDefinition') */ public function testWithTypeDefinition() { $this->expectFailsRule(new ExecutableDefinitions, ' query Foo { dog { name } } type Cow { name: String } extend type Dog { color: String } ', [ $this->nonExecutableDefinition('Cow', 8, 12), $this->nonExecutableDefinition('Dog', 12, 19), ]); } private function nonExecutableDefinition($defName, $line, $column) { return FormattedError::create( ExecutableDefinitions::nonExecutableDefinitionMessage($defName), [ new SourceLocation($line, $column) ] ); } }