Skip to content

Commit e2182be

Browse files
committed
Test DataTransformer for same class should support Documents as well as Entities
1 parent 1dd21ed commit e2182be

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

tests/Fixtures/TestBundle/DataTransformer/OutputDtoSameClassTransformer.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
namespace ApiPlatform\Core\Tests\Fixtures\TestBundle\DataTransformer;
1515

1616
use ApiPlatform\Core\DataTransformer\DataTransformerInterface;
17+
use ApiPlatform\Core\Tests\Fixtures\TestBundle\Document\DummyDtoOutputFallbackToSameClass as DummyDtoOutputFallbackToSameClassDocument;
18+
use ApiPlatform\Core\Tests\Fixtures\TestBundle\Document\DummyDtoOutputSameClass as DummyDtoOutputSameClassDocument;
1719
use ApiPlatform\Core\Tests\Fixtures\TestBundle\Dto\OutputDtoDummy;
1820
use ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\DummyDtoOutputFallbackToSameClass;
1921
use ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\DummyDtoOutputSameClass;
@@ -30,7 +32,12 @@ final class OutputDtoSameClassTransformer implements DataTransformerInterface
3032
*/
3133
public function transform($object, string $to, array $context = [])
3234
{
33-
if (!$object instanceof DummyDtoOutputFallbackToSameClass && !$object instanceof DummyDtoOutputSameClass) {
35+
if (
36+
!$object instanceof DummyDtoOutputFallbackToSameClass &&
37+
!$object instanceof DummyDtoOutputFallbackToSameClassDocument &&
38+
!$object instanceof DummyDtoOutputSameClass &&
39+
!$object instanceof DummyDtoOutputSameClassDocument
40+
) {
3441
throw new \InvalidArgumentException();
3542
}
3643
$object->ipsum = 'modified';
@@ -43,7 +50,7 @@ public function transform($object, string $to, array $context = [])
4350
*/
4451
public function supportsTransformation($data, string $to, array $context = []): bool
4552
{
46-
return ($data instanceof DummyDtoOutputFallbackToSameClass && OutputDtoDummy::class === $to) ||
47-
($data instanceof DummyDtoOutputSameClass && DummyDtoOutputSameClass::class === $to);
53+
return (($data instanceof DummyDtoOutputFallbackToSameClass || $data instanceof DummyDtoOutputFallbackToSameClassDocument) && OutputDtoDummy::class === $to) ||
54+
(($data instanceof DummyDtoOutputSameClass || $data instanceof DummyDtoOutputSameClassDocument) && DummyDtoOutputSameClass::class === $to);
4855
}
4956
}

0 commit comments

Comments
 (0)