diff --git a/src/Utils/EntityUtils.php b/src/Utils/EntityUtils.php index 796f88f1..184c0980 100644 --- a/src/Utils/EntityUtils.php +++ b/src/Utils/EntityUtils.php @@ -48,10 +48,6 @@ public function findParent(string $class, bool $root = true): ?string continue; } - if ($class->getDocComment() === false) { - continue; - } - $ann = $this->reader->firstClassMetadata($class, Entity::class); if ($ann !== null) { return $parent; diff --git a/tests/Annotated/Fixtures/Fixtures22/Annotated/LocalManager.php b/tests/Annotated/Fixtures/Fixtures22/Annotated/LocalManager.php new file mode 100644 index 00000000..daea747f --- /dev/null +++ b/tests/Annotated/Fixtures/Fixtures22/Annotated/LocalManager.php @@ -0,0 +1,12 @@ +findParent($child, $root); + + $this->assertEquals($expectedParent, $actualParent); + } + + public function findParentDataProvider(): iterable + { + $namespace = 'Cycle\Annotated\Tests\Fixtures\Fixtures22'; + $readers = [ + 'Attributed' => new AttributeReader(), + 'Annotated' => new AnnotationReader(), + ]; + + foreach ($readers as $readerType => $reader) { + yield "$readerType Child Root" + => [$reader, "$namespace\\$readerType\\Person", true, null]; + yield "$readerType Child Not Root" + => [$reader, "$namespace\\$readerType\\Person", false, null]; + + yield "$readerType 1st Level Root" + => [$reader, "$namespace\\$readerType\\Supplier", true, "$namespace\\$readerType\\Person"]; + yield "$readerType 1st Level Not Root" + => [$reader, "$namespace\\$readerType\\Supplier", false, "$namespace\\$readerType\\Person"]; + + yield "$readerType 2nd Level Root" + => [$reader, "$namespace\\$readerType\\LocalSupplier", true, "$namespace\\$readerType\\Person"]; + yield "$readerType 2nd Level Root No Entity Attribute" + => [$reader, "$namespace\\$readerType\\LocalSupplier", false, "$namespace\\$readerType\\Person"]; + + yield "$readerType 3rd Level Root" + => [$reader, "$namespace\\$readerType\\LocalManager", true, "$namespace\\$readerType\\Person"]; + yield "$readerType 3rd Level Not Root" + => [$reader, "$namespace\\$readerType\\LocalManager", false, "$namespace\\$readerType\\LocalSupplier"]; + } + } +}