2727use Symfony \Bundle \MakerBundle \Maker \Common \CanGenerateTestsTrait ;
2828use Symfony \Bundle \MakerBundle \Renderer \FormTypeRenderer ;
2929use Symfony \Bundle \MakerBundle \Str ;
30+ use Symfony \Bundle \MakerBundle \Util \ClassSource \Model \ClassData ;
3031use Symfony \Bundle \MakerBundle \Util \UseStatementGenerator ;
3132use Symfony \Bundle \MakerBundle \Validator ;
3233use Symfony \Bundle \TwigBundle \TwigBundle ;
@@ -131,6 +132,11 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
131132 ];
132133 }
133134
135+ $ controllerClassData = ClassData::create (
136+ class: sprintf ('App\Controller\%sController ' , $ this ->controllerClassName ),
137+ extendsClass: AbstractController::class,
138+ );
139+
134140 $ controllerClassDetails = $ generator ->createClassNameDetails (
135141 $ this ->controllerClassName ,
136142 'Controller \\' ,
@@ -174,6 +180,7 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
174180 $ controllerClassDetails ->getFullName (),
175181 'crud/controller/Controller.tpl.php ' ,
176182 array_merge ([
183+ 'class_data ' => $ controllerClassData ,
177184 'use_statements ' => $ useStatements ,
178185 'entity_class_name ' => $ entityClassDetails ->getShortName (),
179186 'form_class_name ' => $ formClassDetails ->getShortName (),
@@ -242,10 +249,9 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
242249 }
243250
244251 if ($ this ->shouldGenerateTests ()) {
245- $ testClassDetails = $ generator ->createClassNameDetails (
246- sprintf ('\\App \\Tests \\Controller \\%s ' , $ entityClassDetails ->getRelativeNameWithoutSuffix ()),
247- 'Controller \\' ,
248- 'ControllerTest '
252+ $ testClassData = ClassData::create (
253+ class: sprintf ('App\Tests\Controller\%sControllerTest ' , $ entityClassDetails ->getRelativeNameWithoutSuffix ()),
254+ extendsClass: WebTestCase::class,
249255 );
250256
251257 $ useStatements = new UseStatementGenerator ([
@@ -262,17 +268,16 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
262268 }
263269
264270 $ generator ->generateClass (
265- $ testClassDetails -> getFullName () ,
271+ $ testClassData -> fullClassName ,
266272 'crud/test/Test.EntityManager.tpl.php ' ,
267273 [
274+ 'class_data ' => $ testClassData ,
268275 'use_statements ' => $ useStatements ,
269276 'entity_full_class_name ' => $ entityClassDetails ->getFullName (),
270277 'entity_class_name ' => $ entityClassDetails ->getShortName (),
271278 'entity_var_singular ' => $ entityVarSingular ,
272279 'route_path ' => Str::asRoutePath ($ controllerClassDetails ->getRelativeNameWithoutSuffix ()),
273280 'route_name ' => $ routeName ,
274- 'class_name ' => Str::getShortClassName ($ testClassDetails ->getFullName ()),
275- 'namespace ' => Str::getNamespace ($ testClassDetails ->getFullName ()),
276281 'form_fields ' => $ entityDoctrineDetails ->getFormFields (),
277282 'repository_class_name ' => EntityManagerInterface::class,
278283 'form_field_prefix ' => strtolower (Str::asSnakeCase ($ entityTwigVarSingular )),
0 commit comments