public function testCanIntrospectOnUnionAndIntersectionTypes()
{
$ast = Parser::parse('
{
Named: __type(name: "Named") {
kind
name
fields { name }
interfaces { name }
possibleTypes { name }
enumValues { name }
inputFields { name }
}
Pet: __type(name: "Pet") {
kind
name
fields { name }
interfaces { name }
possibleTypes { name }
enumValues { name }
inputFields { name }
}
}
');
$expected = ['data' => ['Named' => ['kind' => 'INTERFACE', 'name' => 'Named', 'fields' => [['name' => 'name']], 'interfaces' => null, 'possibleTypes' => [['name' => 'Person'], ['name' => 'Dog'], ['name' => 'Cat']], 'enumValues' => null, 'inputFields' => null], 'Pet' => ['kind' => 'UNION', 'name' => 'Pet', 'fields' => null, 'interfaces' => null, 'possibleTypes' => [['name' => 'Dog'], ['name' => 'Cat']], 'enumValues' => null, 'inputFields' => null]]];
$this->assertEquals($expected, Executor::execute($this->schema, $ast)->toArray());
}