mirror of
https://github.com/retailcrm/graphql-php.git
synced 2024-11-22 12:56:05 +03:00
Merge pull request #465 from mll-lab/enum-default-values
Enum default values
This commit is contained in:
commit
11d32d4568
@ -114,7 +114,7 @@ Option | Type | Notes
|
|||||||
name | `string` | **Required.** Name of the input field. When not set - inferred from **fields** array key
|
name | `string` | **Required.** Name of the input field. When not set - inferred from **fields** array key
|
||||||
type | `Type` | **Required.** Instance of one of [Input Types](input-types.md) (**Scalar**, **Enum**, **InputObjectType** + any combination of those with **nonNull** and **listOf** modifiers)
|
type | `Type` | **Required.** Instance of one of [Input Types](input-types.md) (**Scalar**, **Enum**, **InputObjectType** + any combination of those with **nonNull** and **listOf** modifiers)
|
||||||
description | `string` | Plain-text description of this input field for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation)
|
description | `string` | Plain-text description of this input field for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation)
|
||||||
defaultValue | `scalar` | Default value of this input field
|
defaultValue | `scalar` | Default value of this input field. Use the internal value if specifying a default for an **enum** type
|
||||||
|
|
||||||
# Using Input Object Type
|
# Using Input Object Type
|
||||||
In the example above we defined our InputObjectType. Now let's use it in one of field arguments:
|
In the example above we defined our InputObjectType. Now let's use it in one of field arguments:
|
||||||
|
@ -94,7 +94,7 @@ Option | Type | Notes
|
|||||||
name | `string` | **Required.** Name of the argument. When not set - inferred from **args** array key
|
name | `string` | **Required.** Name of the argument. When not set - inferred from **args** array key
|
||||||
type | `Type` | **Required.** Instance of one of [Input Types](input-types.md) (**scalar**, **enum**, **InputObjectType** + any combination of those with **nonNull** and **listOf** modifiers)
|
type | `Type` | **Required.** Instance of one of [Input Types](input-types.md) (**scalar**, **enum**, **InputObjectType** + any combination of those with **nonNull** and **listOf** modifiers)
|
||||||
description | `string` | Plain-text description of this argument for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation)
|
description | `string` | Plain-text description of this argument for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation)
|
||||||
defaultValue | `scalar` | Default value for this argument
|
defaultValue | `scalar` | Default value for this argument. Use the internal value if specifying a default for an **enum** type
|
||||||
|
|
||||||
# Shorthand field definitions
|
# Shorthand field definitions
|
||||||
Fields can be also defined in **shorthand** notation (with only **name** and **type** options):
|
Fields can be also defined in **shorthand** notation (with only **name** and **type** options):
|
||||||
|
@ -11,6 +11,7 @@ use GraphQL\Executor\Executor;
|
|||||||
use GraphQL\Language\Parser;
|
use GraphQL\Language\Parser;
|
||||||
use GraphQL\Tests\Executor\TestClasses\NotSpecial;
|
use GraphQL\Tests\Executor\TestClasses\NotSpecial;
|
||||||
use GraphQL\Tests\Executor\TestClasses\Special;
|
use GraphQL\Tests\Executor\TestClasses\Special;
|
||||||
|
use GraphQL\Type\Definition\EnumType;
|
||||||
use GraphQL\Type\Definition\InputObjectType;
|
use GraphQL\Type\Definition\InputObjectType;
|
||||||
use GraphQL\Type\Definition\InterfaceType;
|
use GraphQL\Type\Definition\InterfaceType;
|
||||||
use GraphQL\Type\Definition\ObjectType;
|
use GraphQL\Type\Definition\ObjectType;
|
||||||
@ -1106,7 +1107,18 @@ class ExecutorTest extends TestCase
|
|||||||
'a' => ['type' => Type::int()],
|
'a' => ['type' => Type::int()],
|
||||||
'b' => ['type' => Type::string()],
|
'b' => ['type' => Type::string()],
|
||||||
],
|
],
|
||||||
]), 'defaultValue' => ['a' => 1, 'b' => 'test'],
|
]),
|
||||||
|
'defaultValue' => ['a' => 1, 'b' => 'test'],
|
||||||
|
],
|
||||||
|
'i' => [
|
||||||
|
'type' => new EnumType([
|
||||||
|
'name' => 'EnumType',
|
||||||
|
'values' => [
|
||||||
|
'VALUE1' => 1,
|
||||||
|
'VALUE2' => 2,
|
||||||
|
],
|
||||||
|
]),
|
||||||
|
'defaultValue' => 1,
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
@ -1117,7 +1129,7 @@ class ExecutorTest extends TestCase
|
|||||||
$query = Parser::parse('{ field }');
|
$query = Parser::parse('{ field }');
|
||||||
$result = Executor::execute($schema, $query);
|
$result = Executor::execute($schema, $query);
|
||||||
$expected = [
|
$expected = [
|
||||||
'data' => ['field' => '{"a":1,"b":null,"c":0,"d":false,"e":"0","f":"some-string","h":{"a":1,"b":"test"}}'],
|
'data' => ['field' => '{"a":1,"b":null,"c":0,"d":false,"e":"0","f":"some-string","h":{"a":1,"b":"test"},"i":1}'],
|
||||||
];
|
];
|
||||||
|
|
||||||
self::assertEquals($expected, $result->toArray());
|
self::assertEquals($expected, $result->toArray());
|
||||||
|
Loading…
Reference in New Issue
Block a user