Skip to content

Commit 30fe90e

Browse files
committed
add tests for subresource resolving
1 parent a832afd commit 30fe90e

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

tests/Fixtures/FileConfigurations/resources_with_parameters.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="https://api-platform.com/schema/metadata
66
https://api-platform.com/schema/metadata/metadata-2.0.xsd">
7-
<resource class="%dummy_class%"/>
7+
<resource class="%dummy_class%">
8+
<property name="relatedOwnedDummy">
9+
<subresource resourceClass="%dummy_related_owned_class%" />
10+
</property>
11+
</resource>
812
<resource class="%dummy_class%Bis"/>
913
<resource
1014
class="%file_config_dummy_class%"

tests/Fixtures/FileConfigurations/resources_with_parameters.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
resources:
2-
'%dummy_class%': ~
2+
'%dummy_class%':
3+
properties:
4+
'relatedOwnedDummy':
5+
subresource: { resourceClass: '%dummy_related_owned_class%' }
36
'%dummy_class%Bis': ~
47
'%file_config_dummy_class%':
58
shortName: 'thedummyshortname'

tests/Metadata/Extractor/ExtractorTestCase.php

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ final public function testResourcesParametersResolution()
159159
{
160160
$containerProphecy = $this->prophesize(ContainerInterface::class);
161161
$containerProphecy->get('dummy_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\Dummy::class);
162+
$containerProphecy->getParameter('dummy_related_owned_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\RelatedOwnedDummy::class);
162163
$containerProphecy->get('file_config_dummy_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\FileConfigDummy::class);
163164

164165
$resources = $this->createExtractor([$this->getResourceWithParametersFile()], $containerProphecy->reveal())->getResources();
@@ -173,7 +174,11 @@ final public function testResourcesParametersResolution()
173174
'subresourceOperations' => null,
174175
'graphql' => null,
175176
'attributes' => null,
176-
'properties' => null,
177+
'properties' => [
178+
'relatedOwnedDummy' => [
179+
'resourceClass' => \ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\RelatedOwnedDummy::class,
180+
],
181+
],
177182
],
178183
'\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\DummyBis' => [
179184
'shortName' => null,
@@ -285,6 +290,7 @@ final public function testResourcesParametersResolutionWithTheSymfonyContainer()
285290
{
286291
$containerProphecy = $this->prophesize(SymfonyContainerInterface::class);
287292
$containerProphecy->getParameter('dummy_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\Dummy::class);
293+
$containerProphecy->getParameter('dummy_related_owned_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\RelatedOwnedDummy::class);
288294
$containerProphecy->getParameter('file_config_dummy_class')->willReturn(\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\FileConfigDummy::class);
289295

290296
$resources = $this->createExtractor([$this->getResourceWithParametersFile()], $containerProphecy->reveal())->getResources();
@@ -299,7 +305,11 @@ final public function testResourcesParametersResolutionWithTheSymfonyContainer()
299305
'subresourceOperations' => null,
300306
'graphql' => null,
301307
'attributes' => null,
302-
'properties' => null,
308+
'properties' => [
309+
'relatedOwnedDummy' => [
310+
'resourceClass' => \ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\RelatedOwnedDummy::class,
311+
],
312+
],
303313
],
304314
'\ApiPlatform\Core\Tests\Fixtures\TestBundle\Entity\DummyBis' => [
305315
'shortName' => null,
@@ -421,7 +431,11 @@ final public function testResourcesParametersResolutionWithoutAContainer()
421431
'subresourceOperations' => null,
422432
'graphql' => null,
423433
'attributes' => null,
424-
'properties' => null,
434+
'properties' => [
435+
'relatedOwnedDummy' => [
436+
'resourceClass' => '%dummy_related_owned_class%',
437+
],
438+
],
425439
],
426440
'%dummy_class%Bis' => [
427441
'shortName' => null,

0 commit comments

Comments
 (0)