public function testIdentifiesDeprecatedEnumValues()
{
$TestEnum = new EnumType(['name' => 'TestEnum', 'values' => ['NONDEPRECATED' => ['value' => 0], 'DEPRECATED' => ['value' => 1, 'deprecationReason' => 'Removed in 1.0'], 'ALSONONDEPRECATED' => ['value' => 2]]]);
$TestType = new ObjectType(['name' => 'TestType', 'fields' => ['testEnum' => ['type' => $TestEnum]]]);
$schema = new Schema(['query' => $TestType]);
$request = '
{
__type(name: "TestEnum") {
name
enumValues(includeDeprecated: true) {
name
isDeprecated,
deprecationReason
}
}
}
';
$expected = ['data' => ['__type' => ['name' => 'TestEnum', 'enumValues' => [['name' => 'NONDEPRECATED', 'isDeprecated' => false, 'deprecationReason' => null], ['name' => 'DEPRECATED', 'isDeprecated' => true, 'deprecationReason' => 'Removed in 1.0'], ['name' => 'ALSONONDEPRECATED', 'isDeprecated' => false, 'deprecationReason' => null]]]]];
$this->assertEquals($expected, GraphQL::execute($schema, $request));
}