8000 Fix tests (#3698) · api-platform/core@2c87089 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2c87089

Browse files
authored
Fix tests (#3698)
* Use symfony/serializer >=4.4.9-5.0.9 to fix issues symfony/symfony#34455 symfony/symfony#36601 * Lowest + legacy test suite missing git * fix Symfony 5 router generate with reference type
1 parent af3e305 commit 2c87089

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,6 +829,7 @@ jobs:
829829
- name: Install system packages
830830
run: |
831831
apk add \
832+
git \
832833
unzip \
833834
- name: Cache mongodb PHP extension build
834835
uses: actions/cache@v2

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"symfony/http-kernel": "^4.3.7 || ^5.0",
2323
"symfony/property-access": "^3.4 || ^4.0 || ^5.0",
2424
"symfony/property-info": "^3.4 || ^4.0 || ^5.0",
25-
"symfony/serializer": "^4.4 || ^5.0",
25+
"symfony/serializer": "^4.4.9 || ^5.0.9",
2626
"symfony/web-link": "^4.1 || ^5.0",
2727
"willdurand/negotiation": "^2.0.3"
2828
},

src/Bridge/Symfony/Routing/IriConverter.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use ApiPlatform\Core\Api\IriConverterInterface;
1919
use ApiPlatform\Core\Api\OperationType;
2020
use ApiPlatform\Core\Api\ResourceClassResolverInterface;
21+
use ApiPlatform\Core\Api\UrlGeneratorInterface;
2122
use ApiPlatform\Core\DataProvider\ItemDataProviderInterface;
2223
use ApiPlatform\Core\DataProvider\OperationDataProviderTrait;
2324
use ApiPlatform\Core\DataProvider\SubresourceDataProviderInterface;
@@ -200,6 +201,6 @@ private function getReferenceType(string $resourceClass, ?int $referenceType): ?
200201
$referenceType = $metadata->getAttribute('url_generation_strategy');
201202
}
202203

203-
return $referenceType;
204+
return $referenceType ?? UrlGeneratorInterface::ABS_PATH;
204205
}
205206
}

tests/Bridge/Symfony/Routing/IriConverterTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public function testGetIriFromResourceClass()
144144
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::COLLECTION)->willReturn('dummies');
145145

146146
$routerProphecy = $this->prophesize(RouterInterface::class);
147-
$routerProphecy->generate('dummies', [], null)->willReturn('/dummies');
147+
$routerProphecy->generate('dummies', [ 10000 ], UrlGeneratorInterface::ABS_PATH)->willReturn('/dummies');
148148

149149
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
150150
$this->assertEquals($converter->getIriFromResourceClass(Dummy::class), '/dummies');
@@ -174,7 +174,7 @@ public function testNotAbleToGenerateGetIriFromResourceClass()
174174
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::COLLECTION)->willReturn('dummies');
175175

176176
$routerProphecy = $this->prophesize(RouterInterface::class);
177-
$routerProphecy->generate('dummies', [], null)->willThrow(new RouteNotFoundException());
177+
$routerProphecy->generate('dummies', [], UrlGeneratorInterface::ABS_PATH)->willThrow(new RouteNotFoundException());
178178

179179
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
180180
$converter->getIriFromResourceClass(Dummy::class);
@@ -186,7 +186,7 @@ public function testGetSubresourceIriFromResourceClass()
186186
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::SUBRESOURCE, Argument::type('array'))->willReturn('api_dummies_related_dummies_get_subresource');
187187

188188
$routerProphecy = $this->prophesize(RouterInterface::class);
189-
$routerProphecy->generate('api_dummies_related_dummies_get_subresource', ['id' => 1], null)->willReturn('/dummies/1/related_dummies');
189+
$routerProphecy->generate('api_dummies_related_dummies_get_subresource', ['id' => 1], UrlGeneratorInterface::ABS_PATH)->willReturn('/dummies/1/related_dummies');
190190

191191
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
192192
$this->assertEquals($converter->getSubresourceIriFromResourceClass(Dummy::class, ['subresource_identifiers' => ['id' => 1], 'subresource_resources' => [RelatedDummy::class => 1]]), '/dummies/1/related_dummies');
@@ -201,7 +201,7 @@ public function testNotAbleToGenerateGetSubresourceIriFromResourceClass()
201201
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::SUBRESOURCE, Argument::type('array'))->willReturn('dummies');
202202

203203
$routerProphecy = $this->prophesize(RouterInterface::class);
204-
$routerProphecy->generate('dummies', ['id' => 1], null)->willThrow(new RouteNotFoundException());
204+
$routerProphecy->generate('dummies', ['id' => 1], UrlGeneratorInterface::ABS_PATH)->willThrow(new RouteNotFoundException());
205205

206206
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
207207
$converter->getSubresourceIriFromResourceClass(Dummy::class, ['subresource_identifiers' => ['id' => 1], 'subresource_resources' => [RelatedDummy::class => 1]]);
@@ -213,7 +213,7 @@ public function testGetItemIriFromResourceClass()
213213
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::ITEM)->willReturn('api_dummies_get_item');
214214

215215
$routerProphecy = $this->prophesize(RouterInterface::class);
216-
$routerProphecy->generate('api_dummies_get_item', ['id' => 1], null)->willReturn('/dummies/1');
216+
$routerProphecy->generate('api_dummies_get_item', ['id' => 1], UrlGeneratorInterface::ABS_PATH)->willReturn('/dummies/1');
217217

218218
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
219219
$this->assertEquals($converter->getItemIriFromResourceClass(Dummy::class, ['id' => 1]), '/dummies/1');
@@ -243,7 +243,7 @@ public function testNotAbleToGenerateGetItemIriFromResourceClass()
243243
$routeNameResolverProphecy->getRouteName(Dummy::class, OperationType::ITEM)->willReturn('dummies');
244244

245245
$routerProphecy = $this->prophesize(RouterInterface::class);
246-
$routerProphecy->generate('dummies', ['id' => 1], null)->willThrow(new RouteNotFoundException());
246+
$routerProphecy->generate('dummies', ['id' => 1], UrlGeneratorInterface::ABS_PATH)->willThrow(new RouteNotFoundException());
247247

248248
$converter = $this->getIriConverter($routerProphecy, $routeNameResolverProphecy);
249249
$converter->getItemIriFromResourceClass(Dummy::class, ['id' => 1]);

0 commit comments

Comments
 (0)
0