Skip to content

Commit bff3fbb

Browse files
authored
Merge pull request #1015 from laryjulien/update-apitestcase-fqcn
Update ApiTestCase to be compliant with ApiPlatform v3.0
2 parents b6b0afe + 31e33a6 commit bff3fbb

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/Maker/MakeTest.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
namespace Symfony\Bundle\MakerBundle\Maker;
1313

14-
use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
14+
use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase as LegacyApiTestCase;
15+
use ApiPlatform\Symfony\Bundle\Test\ApiTestCase;
1516
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
1617
use Symfony\Bundle\FrameworkBundle\Test\WebTestAssertionsTrait;
1718
use Symfony\Bundle\MakerBundle\ConsoleStyle;
@@ -103,7 +104,7 @@ public function interact(InputInterface $input, ConsoleStyle $io, Command $comma
103104
);
104105
}
105106

106-
if ('ApiTestCase' === $input->getArgument('type') && !class_exists(ApiTestCase::class)) {
107+
if ('ApiTestCase' === $input->getArgument('type') && !class_exists(ApiTestCase::class) && !class_exists(LegacyApiTestCase::class)) {
107108
$io->warning([
108109
'API Platform is required for this test type. Install it with',
109110
'composer require api',
@@ -148,6 +149,7 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
148149
[
149150
'web_assertions_are_available' => trait_exists(WebTestAssertionsTrait::class),
150151
'use_legacy_container_property' => $this->useLegacyContainerProperty(),
152+
'api_test_case_fqcn' => \PHP_VERSION_ID < 80100 && !class_exists(ApiTestCase::class) ? LegacyApiTestCase::class : ApiTestCase::class,
151153
]
152154
);
153155

@@ -186,7 +188,7 @@ public function configureDependencies(DependencyBuilder $dependencies, InputInte
186188

187189
case 'ApiTestCase':
188190
$dependencies->addClassDependency(
189-
ApiTestCase::class,
191+
\PHP_VERSION_ID < 80100 && !class_exists(ApiTestCase::class) ? LegacyApiTestCase::class : ApiTestCase::class,
190192
'api',
191193
true,
192194
false

src/Resources/skeleton/test/ApiTestCase.tpl.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace <?= $namespace; ?>;
44

5-
use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
5+
use <?= $api_test_case_fqcn; ?>;
66

77
class <?= $class_name ?> extends ApiTestCase
88
{

0 commit comments

Comments
 (0)