diff --git a/src/Maker/MakeEntity.php b/src/Maker/MakeEntity.php index 76d18322c..85f4b9025 100644 --- a/src/Maker/MakeEntity.php +++ b/src/Maker/MakeEntity.php @@ -108,6 +108,8 @@ public function configureCommand(Command $command, InputConfiguration $inputConf public function interact(InputInterface $input, ConsoleStyle $io, Command $command): void { + $this->checkIsUsingUid($input); + if (($entityClassName = $input->getArgument('name')) && empty($this->verifyEntityName($entityClassName))) { return; } @@ -124,8 +126,6 @@ public function interact(InputInterface $input, ConsoleStyle $io, Command $comma return; } - $this->checkIsUsingUid($input); - $argument = $command->getDefinition()->getArgument('name'); $question = $this->createEntityClassQuestion($argument->getDescription()); $entityClassName ??= $io->askQuestion($question); diff --git a/tests/Maker/MakeEntityTest.php b/tests/Maker/MakeEntityTest.php index b60152b4e..50b59e434 100644 --- a/tests/Maker/MakeEntityTest.php +++ b/tests/Maker/MakeEntityTest.php @@ -181,6 +181,24 @@ public static function getTestDetails(): \Generator }), ]; + yield 'it_creates_a_new_class_with_uuid_when_name_is_passed_as_argument' => [self::createMakeEntityTest() + ->addExtraDependencies('symfony/uid') + ->run(static function (MakerTestRunner $runner) { + $runner->runMaker([ + // add no additional fields + '', + ], 'User --with-uuid'); + + self::assertFileExists($runner->getPath('src/Entity/User.php')); + + $content = file_get_contents($runner->getPath('src/Entity/User.php')); + self::assertStringContainsString('use Symfony\Component\Uid\Uuid;', $content); + self::assertStringContainsString('[ORM\CustomIdGenerator(class: \'doctrine.uuid_generator\')]', $content); + + self::runEntityTest($runner); + }), + ]; + yield 'it_creates_a_new_class_with_fields' => [self::createMakeEntityTest() ->run(static function (MakerTestRunner $runner) { $runner->runMaker([