diff --git a/src/FieldsBuilder.php b/src/FieldsBuilder.php index c0dc7d27d1..ea8688a18e 100644 --- a/src/FieldsBuilder.php +++ b/src/FieldsBuilder.php @@ -444,9 +444,6 @@ private function getFieldsByMethodAnnotations( $methodName = $refMethod->getName(); if ($queryAnnotation instanceof Field) { - if (str_starts_with($methodName, 'set')) { - continue; - } $for = $queryAnnotation->getFor(); if ($typeName && $for && ! in_array($typeName, $for)) { continue; diff --git a/tests/FieldsBuilderTest.php b/tests/FieldsBuilderTest.php index c280218fec..60e9bd2ecd 100644 --- a/tests/FieldsBuilderTest.php +++ b/tests/FieldsBuilderTest.php @@ -60,6 +60,7 @@ use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithMagicProperty; use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithMagicPropertyType; use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithPrefetchMethods; +use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithSetPrefix; use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithSourceFieldInterface; use TheCodingMachine\GraphQLite\Fixtures\TestTypeWithSourceFieldInvalidParameterAnnotation; use TheCodingMachine\GraphQLite\Mappers\CannotMapTypeException; @@ -440,6 +441,16 @@ public function testSourceFieldIsId(): void $this->assertInstanceOf(IDType::class, $fields['test']->getType()->getWrappedType()); } + public function testFieldWithSetPrefixPresence(): void + { + $queryProvider = $this->buildFieldsBuilder(); + $fields = $queryProvider->getFields(new TestTypeWithSetPrefix()); + $this->assertCount(2, $fields); + + $this->assertSame('settings', $fields['settings']->name); + $this->assertSame('numberOfParameters', $fields['numberOfParameters']->name); + } + public function testFromSourceFieldsInterface(): void { $queryProvider = new FieldsBuilder( diff --git a/tests/Fixtures/TestTypeWithSetPrefix.php b/tests/Fixtures/TestTypeWithSetPrefix.php new file mode 100644 index 0000000000..0885d8f691 --- /dev/null +++ b/tests/Fixtures/TestTypeWithSetPrefix.php @@ -0,0 +1,24 @@ +