mirror of
https://github.com/retailcrm/graphql-php.git
synced 2024-11-26 06:46:02 +03:00
parent
22cee49747
commit
fda73f3212
@ -24,6 +24,7 @@ use GraphQL\Type\Definition\ScalarType;
|
|||||||
use GraphQL\Type\Definition\Type;
|
use GraphQL\Type\Definition\Type;
|
||||||
use GraphQL\Type\Definition\UnionType;
|
use GraphQL\Type\Definition\UnionType;
|
||||||
use GraphQL\Type\Schema;
|
use GraphQL\Type\Schema;
|
||||||
|
use GraphQL\Utils\BuildSchema;
|
||||||
use GraphQL\Utils\SchemaExtender;
|
use GraphQL\Utils\SchemaExtender;
|
||||||
use GraphQL\Utils\SchemaPrinter;
|
use GraphQL\Utils\SchemaPrinter;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
@ -1962,4 +1963,48 @@ extend type Query {
|
|||||||
$result = GraphQL::executeQuery($extendedSchema, $query);
|
$result = GraphQL::executeQuery($extendedSchema, $query);
|
||||||
self::assertSame(['data' => ['hello' => 'Hello World!']], $result->toArray());
|
self::assertSame(['data' => ['hello' => 'Hello World!']], $result->toArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see https://github.com/webonyx/graphql-php/issues/180
|
||||||
|
*/
|
||||||
|
public function testShouldBeAbleToIntroduceNewTypesThroughExtension()
|
||||||
|
{
|
||||||
|
$sdl = '
|
||||||
|
type Query {
|
||||||
|
defaultValue: String
|
||||||
|
}
|
||||||
|
type Foo {
|
||||||
|
value: Int
|
||||||
|
}
|
||||||
|
';
|
||||||
|
|
||||||
|
$documentNode = Parser::parse($sdl);
|
||||||
|
$schema = BuildSchema::build($documentNode);
|
||||||
|
|
||||||
|
$extensionSdl = '
|
||||||
|
type Bar {
|
||||||
|
foo: Foo
|
||||||
|
}
|
||||||
|
';
|
||||||
|
|
||||||
|
$extendedDocumentNode = Parser::parse($extensionSdl);
|
||||||
|
$extendedSchema = SchemaExtender::extend($schema, $extendedDocumentNode);
|
||||||
|
|
||||||
|
$expected = '
|
||||||
|
type Bar {
|
||||||
|
foo: Foo
|
||||||
|
}
|
||||||
|
|
||||||
|
type Foo {
|
||||||
|
value: Int
|
||||||
|
}
|
||||||
|
|
||||||
|
type Query {
|
||||||
|
defaultValue: String
|
||||||
|
}
|
||||||
|
';
|
||||||
|
|
||||||
|
static::assertEquals($this->dedent($expected), SchemaPrinter::doPrint($extendedSchema));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user