Skip to content

Commit f7c70b1

Browse files
authored
fix(graphql): name and key should be the same for an enum without Enum suffix in class name (#5369)
1 parent eba7226 commit f7c70b1

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/GraphQl/Type/TypeBuilder.php

+4-5
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,12 @@ public function getPaginatedCollectionType(GraphQLType $resourceType, Operation
240240
public function getEnumType(Operation $operation): GraphQLType
241241
{
242242
$enumName = $operation->getShortName();
243-
$enumKey = $enumName;
244243
if (!str_ends_with($enumName, 'Enum')) {
245-
$enumKey = sprintf('%sEnum', $enumName);
244+
$enumName = sprintf('%sEnum', $enumName);
246245
}
247246

248-
if ($this->typesContainer->has($enumKey)) {
249-
return $this->typesContainer->get($enumKey);
247+
if ($this->typesContainer->has($enumName)) {
248+
return $this->typesContainer->get($enumName);
250249
}
251250

252251
/** @var FieldsBuilderEnumInterface|FieldsBuilderInterface $fieldsBuilder */
@@ -268,7 +267,7 @@ public function getEnumType(Operation $operation): GraphQLType
268267
}
269268

270269
$enumType = new EnumType($enumConfig);
271-
$this->typesContainer->set($enumKey, $enumType);
270+
$this->typesContainer->set($enumName, $enumType);
272271

273272
return $enumType;
274273
}

tests/GraphQl/Type/TypeBuilderTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ public function testGetEnumType(): void
590590
$this->fieldsBuilderLocatorProphecy->get('api_platform.graphql.fields_builder')->willReturn($fieldsBuilderProphecy->reveal());
591591

592592
self::assertEquals(new EnumType([
593-
'name' => $enumName,
593+
'name' => 'GamePlayModeEnum',
594594
'description' => $enumDescription,
595595
'values' => $enumValues,
596596
]), $this->typeBuilder->getEnumType($operation));

0 commit comments

Comments
 (0)