27
27
use Symfony \Bundle \MakerBundle \Maker \Common \CanGenerateTestsTrait ;
28
28
use Symfony \Bundle \MakerBundle \Renderer \FormTypeRenderer ;
29
29
use Symfony \Bundle \MakerBundle \Str ;
30
+ use Symfony \Bundle \MakerBundle \Util \ClassSource \Model \ClassData ;
30
31
use Symfony \Bundle \MakerBundle \Util \UseStatementGenerator ;
31
32
use Symfony \Bundle \MakerBundle \Validator ;
32
33
use Symfony \Bundle \TwigBundle \TwigBundle ;
@@ -131,6 +132,11 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
131
132
];
132
133
}
133
134
135
+ $ controllerClassData = ClassData::create (
136
+ class: sprintf ('App\Controller\%sController ' , $ this ->controllerClassName ),
137
+ extendsClass: AbstractController::class,
138
+ );
139
+
134
140
$ controllerClassDetails = $ generator ->createClassNameDetails (
135
141
$ this ->controllerClassName ,
136
142
'Controller \\' ,
@@ -174,6 +180,7 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
174
180
$ controllerClassDetails ->getFullName (),
175
181
'crud/controller/Controller.tpl.php ' ,
176
182
array_merge ([
183
+ 'class_data ' => $ controllerClassData ,
177
184
'use_statements ' => $ useStatements ,
178
185
'entity_class_name ' => $ entityClassDetails ->getShortName (),
179
186
'form_class_name ' => $ formClassDetails ->getShortName (),
@@ -242,10 +249,9 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
242
249
}
243
250
244
251
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,
249
255
);
250
256
251
257
$ useStatements = new UseStatementGenerator ([
@@ -262,17 +268,16 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
262
268
}
263
269
264
270
$ generator ->generateClass (
265
- $ testClassDetails -> getFullName () ,
271
+ $ testClassData -> fullClassName ,
266
272
'crud/test/Test.EntityManager.tpl.php ' ,
267
273
[
274
+ 'class_data ' => $ testClassData ,
268
275
'use_statements ' => $ useStatements ,
269
276
'entity_full_class_name ' => $ entityClassDetails ->getFullName (),
270
277
'entity_class_name ' => $ entityClassDetails ->getShortName (),
271
278
'entity_var_singular ' => $ entityVarSingular ,
272
279
'route_path ' => Str::asRoutePath ($ controllerClassDetails ->getRelativeNameWithoutSuffix ()),
273
280
'route_name ' => $ routeName ,
274
- 'class_name ' => Str::getShortClassName ($ testClassDetails ->getFullName ()),
275
- 'namespace ' => Str::getNamespace ($ testClassDetails ->getFullName ()),
276
281
'form_fields ' => $ entityDoctrineDetails ->getFormFields (),
277
282
'repository_class_name ' => EntityManagerInterface::class,
278
283
'form_field_prefix ' => strtolower (Str::asSnakeCase ($ entityTwigVarSingular )),
0 commit comments