diff --git a/.github/workflows/run-test.yml b/.github/workflows/run-test.yml index 5edfa8c..96cc206 100644 --- a/.github/workflows/run-test.yml +++ b/.github/workflows/run-test.yml @@ -40,4 +40,4 @@ jobs: - name: Run PHPStan run: vendor/bin/phpstan analyse --no-progress -c phpstan.neon - name: Run unit tests - run: vendor/bin/phpunit -v --whitelist ./src --coverage-clover ./build/logs/clover.xml src/Test + run: vendor/bin/phpunit -v --whitelist ./src tests diff --git a/Makefile b/Makefile deleted file mode 100644 index 9b71cd8..0000000 --- a/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -test: - vendor/bin/phpcbf --report=full --report-file=./report.txt --extensions=php --warning-severity=0 --standard=PSR12 -p ./src - vendor/bin/phpstan analyse -c phpstan.neon - vendor/bin/phpunit -v --whitelist ./src --coverage-clover ./build/logs/clover.xml src/Test diff --git a/composer.json b/composer.json index 693a025..afb14f9 100644 --- a/composer.json +++ b/composer.json @@ -25,8 +25,12 @@ }, "autoload": { "psr-4": { - "RZ\\Roadiz\\EntityGenerator\\": "src/", - "tests\\mocks\\": "tests/mocks/" + "RZ\\Roadiz\\EntityGenerator\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "RZ\\Roadiz\\EntityGenerator\\Tests\\": "tests/" } }, "require-dev": { diff --git a/src/EntityGeneratorFactory.php b/src/EntityGeneratorFactory.php index f9846c1..201b906 100644 --- a/src/EntityGeneratorFactory.php +++ b/src/EntityGeneratorFactory.php @@ -10,18 +10,11 @@ final class EntityGeneratorFactory { - private NodeTypeResolverInterface $nodeTypeResolverBag; - private DefaultValuesResolverInterface $defaultValuesResolver; - private array $options; - public function __construct( - NodeTypeResolverInterface $nodeTypeResolverBag, - DefaultValuesResolverInterface $defaultValuesResolver, - array $options + private readonly NodeTypeResolverInterface $nodeTypeResolverBag, + private readonly DefaultValuesResolverInterface $defaultValuesResolver, + private readonly array $options ) { - $this->nodeTypeResolverBag = $nodeTypeResolverBag; - $this->defaultValuesResolver = $defaultValuesResolver; - $this->options = $options; } public function create(NodeTypeInterface $nodeType): EntityGeneratorInterface diff --git a/src/Test/EntityGeneratorFactoryTest.php b/tests/EntityGeneratorFactoryTest.php similarity index 84% rename from src/Test/EntityGeneratorFactoryTest.php rename to tests/EntityGeneratorFactoryTest.php index 51fdb99..82185bc 100644 --- a/src/Test/EntityGeneratorFactoryTest.php +++ b/tests/EntityGeneratorFactoryTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace RZ\Roadiz\EntityGenerator\Test; +namespace RZ\Roadiz\EntityGenerator\Tests; use PHPUnit\Framework\TestCase; use RZ\Roadiz\EntityGenerator\EntityGeneratorFactory; @@ -25,7 +25,7 @@ protected function getEntityGeneratorFactory(?array $options = null): EntityGene 'custom_form_class' => '\mock\Entity\CustomForm', 'custom_form_proxy_class' => '\mock\Entity\NodesSourcesCustomForm', 'repository_class' => '\mock\Entity\Repository\NodesSourcesRepository', - 'namespace' => '\tests\mocks\GeneratedNodesSources', + 'namespace' => '\RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSources', 'use_native_json' => true, 'use_api_platform_filters' => true, ] @@ -37,7 +37,7 @@ public function testCreate(): void $generator = $this->getEntityGeneratorFactory(); $this->assertEquals( - file_get_contents(dirname(__DIR__) . '/../tests/mocks/GeneratedNodesSources/NSMock.php'), + file_get_contents(dirname(__DIR__) . '/tests/Mocks/GeneratedNodesSources/NSMock.php'), $generator->create($this->getMockNodeType())->getClassContent() ); } @@ -53,7 +53,7 @@ public function testCreateWithCustomRepository(): void 'custom_form_class' => '\mock\Entity\CustomForm', 'custom_form_proxy_class' => '\mock\Entity\NodesSourcesCustomForm', 'repository_class' => '\mock\Entity\Repository\NodesSourcesRepository', - 'namespace' => '\tests\mocks\GeneratedNodesSourcesWithRepository', + 'namespace' => '\RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository', 'use_native_json' => true, 'use_api_platform_filters' => true, ]); @@ -67,7 +67,7 @@ public function testCreateWithCustomRepository(): void // ); $this->assertEquals( - file_get_contents(dirname(__DIR__) . '/../tests/mocks/GeneratedNodesSourcesWithRepository/NSMock.php'), + file_get_contents(dirname(__DIR__) . '/tests/Mocks/GeneratedNodesSourcesWithRepository/NSMock.php'), $generator->createWithCustomRepository($this->getMockNodeType())->getClassContent() ); } @@ -83,7 +83,7 @@ public function testCreateCustomRepository(): void 'custom_form_class' => '\mock\Entity\CustomForm', 'custom_form_proxy_class' => '\mock\Entity\NodesSourcesCustomForm', 'repository_class' => '\mock\Entity\Repository\NodesSourcesRepository', - 'namespace' => '\tests\mocks\GeneratedNodesSourcesWithRepository', + 'namespace' => '\RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository', 'use_native_json' => true, 'use_api_platform_filters' => true, ]); @@ -97,7 +97,7 @@ public function testCreateCustomRepository(): void // ); $this->assertEquals( - file_get_contents(dirname(__DIR__) . '/../tests/mocks/GeneratedNodesSourcesWithRepository/NSMockRepository.php'), + file_get_contents(dirname(__DIR__) . '/tests/Mocks/GeneratedNodesSourcesWithRepository/Repository/NSMockRepository.php'), $generator->createCustomRepository($this->getMockNodeType())->getClassContent() ); } diff --git a/src/Test/EntityGeneratorTest.php b/tests/EntityGeneratorTest.php similarity index 86% rename from src/Test/EntityGeneratorTest.php rename to tests/EntityGeneratorTest.php index 799fdcc..df91155 100644 --- a/src/Test/EntityGeneratorTest.php +++ b/tests/EntityGeneratorTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace RZ\Roadiz\EntityGenerator\Test; +namespace RZ\Roadiz\EntityGenerator\Tests; use PHPUnit\Framework\TestCase; use RZ\Roadiz\Contracts\NodeType\NodeTypeInterface; @@ -27,7 +27,7 @@ protected function getEntityGenerator(NodeTypeInterface $nodeType, ?array $optio 'custom_form_class' => '\mock\Entity\CustomForm', 'custom_form_proxy_class' => '\mock\Entity\NodesSourcesCustomForm', 'repository_class' => '\mock\Entity\Repository\NodesSourcesRepository', - 'namespace' => '\tests\mocks\GeneratedNodesSources', + 'namespace' => '\RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSources', 'use_native_json' => true, 'use_api_platform_filters' => true, ] @@ -48,7 +48,7 @@ public function testGetClassContent(): void // ); $this->assertEquals( - file_get_contents(dirname(__DIR__) . '/../tests/mocks/GeneratedNodesSources/NSMock.php'), + file_get_contents(dirname(__DIR__) . '/tests/Mocks/GeneratedNodesSources/NSMock.php'), $generator->getClassContent() ); @@ -64,12 +64,12 @@ public function testGetClassContent(): void 'custom_form_class' => 'mock\Entity\CustomForm', 'custom_form_proxy_class' => 'mock\Entity\NodesSourcesCustomForm', 'repository_class' => 'mock\Entity\Repository\NodesSourcesRepository', - 'namespace' => 'tests\mocks\GeneratedNodesSources', + 'namespace' => 'RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSources', 'use_native_json' => true, 'use_api_platform_filters' => true, ]); $this->assertEquals( - file_get_contents(dirname(__DIR__) . '/../tests/mocks/GeneratedNodesSources/NSMock.php'), + file_get_contents(dirname(__DIR__) . '/tests/Mocks/GeneratedNodesSources/NSMock.php'), $generatorWithoutLeadingSlashes->getClassContent() ); } diff --git a/src/Test/JoinedTableDefaultValuesResolver.php b/tests/JoinedTableDefaultValuesResolver.php similarity index 94% rename from src/Test/JoinedTableDefaultValuesResolver.php rename to tests/JoinedTableDefaultValuesResolver.php index 4327bc6..a8183e8 100644 --- a/src/Test/JoinedTableDefaultValuesResolver.php +++ b/tests/JoinedTableDefaultValuesResolver.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace RZ\Roadiz\EntityGenerator\Test; +namespace RZ\Roadiz\EntityGenerator\Tests; use RZ\Roadiz\Contracts\NodeType\NodeTypeFieldInterface; use RZ\Roadiz\EntityGenerator\Field\DefaultValuesResolverInterface; diff --git a/tests/mocks/GeneratedNodesSources/NSMock.php b/tests/Mocks/GeneratedNodesSources/NSMock.php similarity index 99% rename from tests/mocks/GeneratedNodesSources/NSMock.php rename to tests/Mocks/GeneratedNodesSources/NSMock.php index 45a8a75..5b5e167 100644 --- a/tests/mocks/GeneratedNodesSources/NSMock.php +++ b/tests/Mocks/GeneratedNodesSources/NSMock.php @@ -6,7 +6,7 @@ * THIS IS A GENERATED FILE, DO NOT EDIT IT * IT WILL BE RECREATED AT EACH NODE-TYPE UPDATE */ -namespace tests\mocks\GeneratedNodesSources; +namespace RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSources; use Doctrine\Common\Collections\Collection; use JMS\Serializer\Annotation as Serializer; diff --git a/tests/mocks/GeneratedNodesSourcesWithRepository/NSMock.php b/tests/Mocks/GeneratedNodesSourcesWithRepository/NSMock.php similarity index 99% rename from tests/mocks/GeneratedNodesSourcesWithRepository/NSMock.php rename to tests/Mocks/GeneratedNodesSourcesWithRepository/NSMock.php index 50a691f..e91fb63 100644 --- a/tests/mocks/GeneratedNodesSourcesWithRepository/NSMock.php +++ b/tests/Mocks/GeneratedNodesSourcesWithRepository/NSMock.php @@ -6,7 +6,7 @@ * THIS IS A GENERATED FILE, DO NOT EDIT IT * IT WILL BE RECREATED AT EACH NODE-TYPE UPDATE */ -namespace tests\mocks\GeneratedNodesSourcesWithRepository; +namespace RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository; use Doctrine\Common\Collections\Collection; use JMS\Serializer\Annotation as Serializer; @@ -22,7 +22,7 @@ */ #[ Gedmo\Loggable(logEntryClass: \RZ\Roadiz\CoreBundle\Entity\UserLogEntry::class), - ORM\Entity(repositoryClass: \tests\mocks\GeneratedNodesSourcesWithRepository\Repository\NSMockRepository::class), + ORM\Entity(repositoryClass: \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\Repository\NSMockRepository::class), ORM\Table(name: "ns_mock"), ORM\Index(columns: ["foo_datetime"]), ORM\Index(columns: ["fooIndexed"]), diff --git a/tests/mocks/GeneratedNodesSourcesWithRepository/NSMockRepository.php b/tests/Mocks/GeneratedNodesSourcesWithRepository/Repository/NSMockRepository.php similarity index 52% rename from tests/mocks/GeneratedNodesSourcesWithRepository/NSMockRepository.php rename to tests/Mocks/GeneratedNodesSourcesWithRepository/Repository/NSMockRepository.php index 6b1c913..0f8cab8 100644 --- a/tests/mocks/GeneratedNodesSourcesWithRepository/NSMockRepository.php +++ b/tests/Mocks/GeneratedNodesSourcesWithRepository/Repository/NSMockRepository.php @@ -6,7 +6,7 @@ * THIS IS A GENERATED FILE, DO NOT EDIT IT * IT WILL BE RECREATED AT EACH NODE-TYPE UPDATE */ -namespace tests\mocks\GeneratedNodesSourcesWithRepository\Repository; +namespace RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\Repository; use Doctrine\Persistence\ManagerRegistry; use RZ\Roadiz\CoreBundle\Preview\PreviewResolverInterface; @@ -15,12 +15,12 @@ use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; /** - * @extends \RZ\Roadiz\CoreBundle\Repository\NodesSourcesRepository<\tests\mocks\GeneratedNodesSourcesWithRepository\NSMock> + * @extends \RZ\Roadiz\CoreBundle\Repository\NodesSourcesRepository<\RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock> * - * @method \tests\mocks\GeneratedNodesSourcesWithRepository\NSMock|null find($id, $lockMode = null, $lockVersion = null) - * @method \tests\mocks\GeneratedNodesSourcesWithRepository\NSMock|null findOneBy(array $criteria, array $orderBy = null) - * @method \tests\mocks\GeneratedNodesSourcesWithRepository\NSMock[] findAll() - * @method \tests\mocks\GeneratedNodesSourcesWithRepository\NSMock[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + * @method \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock|null find($id, $lockMode = null, $lockVersion = null) + * @method \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock|null findOneBy(array $criteria, array $orderBy = null) + * @method \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock[] findAll() + * @method \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) */ class NSMockRepository extends \RZ\Roadiz\CoreBundle\Repository\NodesSourcesRepository { @@ -33,6 +33,6 @@ public function __construct( ) { parent::__construct($registry, $previewResolver, $dispatcher, $security, $nodeSourceSearchHandler); - $this->_entityName = \tests\mocks\GeneratedNodesSourcesWithRepository\NSMock::class; + $this->_entityName = \RZ\Roadiz\EntityGenerator\Tests\Mocks\GeneratedNodesSourcesWithRepository\NSMock::class; } } diff --git a/src/Test/NodeTypeAwareTestTrait.php b/tests/NodeTypeAwareTestTrait.php similarity index 99% rename from src/Test/NodeTypeAwareTestTrait.php rename to tests/NodeTypeAwareTestTrait.php index d43bf6c..6a64ef8 100644 --- a/src/Test/NodeTypeAwareTestTrait.php +++ b/tests/NodeTypeAwareTestTrait.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace RZ\Roadiz\EntityGenerator\Test; +namespace RZ\Roadiz\EntityGenerator\Tests; use Doctrine\Common\Collections\ArrayCollection; use RZ\Roadiz\Contracts\NodeType\NodeTypeInterface; diff --git a/src/Test/SimpleNodeTypeField.php b/tests/SimpleNodeTypeField.php similarity index 99% rename from src/Test/SimpleNodeTypeField.php rename to tests/SimpleNodeTypeField.php index 261d72e..befe9ca 100644 --- a/src/Test/SimpleNodeTypeField.php +++ b/tests/SimpleNodeTypeField.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace RZ\Roadiz\EntityGenerator\Test; +namespace RZ\Roadiz\EntityGenerator\Tests; use RZ\Roadiz\Contracts\NodeType\NodeTypeFieldInterface; use RZ\Roadiz\Contracts\NodeType\SerializableInterface;