diff --git a/.travis.yml b/.travis.yml index 1da4f33..6a11e27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,4 +26,4 @@ script: - cd docker && docker-compose -f docker-compose.test.yml run tests after_script: - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover code/tests/coverage.clover \ No newline at end of file + - php ocular.phar code-coverage:upload --format=php-clover code/coverage.clover \ No newline at end of file diff --git a/code/.gitignore b/code/.gitignore index 5038bac..e96f379 100644 --- a/code/.gitignore +++ b/code/.gitignore @@ -22,4 +22,4 @@ ###> qossmic/deptrac-shim ### /.deptrac.cache ###< qossmic/deptrac-shim ### -tests/coverage.clover \ No newline at end of file +coverage.clover \ No newline at end of file diff --git a/code/1 b/code/1 deleted file mode 100644 index e69de29..0000000 diff --git a/code/composer.json b/code/composer.json index ddbb80a..fbc0e89 100644 --- a/code/composer.json +++ b/code/composer.json @@ -61,7 +61,10 @@ }, "autoload-dev": { "psr-4": { - "App\\Tests\\": "tests/" + "App\\Tests\\Crossword\\": "src/Crossword/tests/", + "App\\Tests\\Dictionary\\": "src/Dictionary/tests/", + "App\\Tests\\Game\\": "src/Game/tests/", + "App\\Tests\\SharedKernel\\": "src/SharedKernel/tests/" } }, "replace": { @@ -74,7 +77,7 @@ "cache:clear": "symfony-cmd", "assets:install %PUBLIC_DIR%": "symfony-cmd" }, - "phpunit": "phpunit --coverage-clover=tests/coverage.clover", + "phpunit": "phpunit --coverage-clover=coverage.clover", "psalm": "psalm", "ecs": "ecs check src", "phpcs": "phpcs --standard=PSR12 src/", diff --git a/code/config/routes/annotations.yaml b/code/config/routes/annotations.yaml index 5298abc..47d4044 100644 --- a/code/config/routes/annotations.yaml +++ b/code/config/routes/annotations.yaml @@ -1,5 +1,17 @@ -controllers: - resource: ../../src/ +controllers_game: + resource: ../../src/Game/UI + type: annotation + +controllers_crossword: + resource: ../../src/Crossword/UI + type: annotation + +controllers_dictionary: + resource: ../../src/Dictionary/UI + type: annotation + +controllers_swagger: + resource: ../../src/Swagger/UI type: annotation kernel: diff --git a/code/config/services.yaml b/code/config/services.yaml index 6d05c87..8177c3f 100644 --- a/code/config/services.yaml +++ b/code/config/services.yaml @@ -27,8 +27,11 @@ services: resource: '../src/*' exclude: - '../src/SharedKernel/config/' + - '../src/SharedKernel/tests/' - '../src/Swagger/config/' + - '../src/Swagger/tests/' - '../src/Game/config/' + - '../src/Game/tests/' - '../src/Game/Domain/Model/' - '../src/Game/Domain/Dto/' - '../src/Game/Domain/Events/DomainEventsSubscriber.php' @@ -36,10 +39,12 @@ services: - '../src/Game/UI/Web/' - '../src/Crossword/UI/API/' - '../src/Crossword/config/' + - '../src/Crossword/tests/' - '../src/Crossword/Domain/Model/' - '../src/Crossword/Domain/Dto/' - '../src/Dictionary/UI/API/' - '../src/Dictionary/config/' + - '../src/Dictionary/tests/' - '../src/Dictionary/Domain/Model/' - '../src/Dictionary/Domain/Dto/' - '../src/Dictionary/Application/Service/WordsStoragePopulate.php' diff --git a/code/coverage.clover b/code/coverage.clover new file mode 100644 index 0000000..c08d994 --- /dev/null +++ b/code/coverage.clover @@ -0,0 +1,4206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/phpunit.xml b/code/phpunit.xml index 1f091f3..57463fe 100644 --- a/code/phpunit.xml +++ b/code/phpunit.xml @@ -21,7 +21,10 @@ - tests + src/Crossword/tests + src/Dictionary/tests + src/Game/tests + src/SharedKernel/tests diff --git a/code/psalm.xml b/code/psalm.xml index 3e4e3d0..70b6d1a 100644 --- a/code/psalm.xml +++ b/code/psalm.xml @@ -10,6 +10,10 @@ + + + + diff --git a/code/src/Crossword/config/ecs.php b/code/src/Crossword/config/ecs.php index 1c0c8a6..aa73c52 100644 --- a/code/src/Crossword/config/ecs.php +++ b/code/src/Crossword/config/ecs.php @@ -5,4 +5,5 @@ '/src/Crossword/Infrastructure/Dao', '/src/Crossword/Domain/Service/Scanner/RowYScanner.php', '/src/Crossword/Domain/Service/Scanner/RowXScanner.php', + '/src/Crossword/tests', ]; diff --git a/code/tests/Crossword/Application/Assert/TypeAssertTest.php b/code/src/Crossword/tests/Application/Assert/TypeAssertTest.php similarity index 100% rename from code/tests/Crossword/Application/Assert/TypeAssertTest.php rename to code/src/Crossword/tests/Application/Assert/TypeAssertTest.php diff --git a/code/tests/Crossword/Application/Service/CrosswordGeneratorTest.php b/code/src/Crossword/tests/Application/Service/CrosswordGeneratorTest.php similarity index 96% rename from code/tests/Crossword/Application/Service/CrosswordGeneratorTest.php rename to code/src/Crossword/tests/Application/Service/CrosswordGeneratorTest.php index 046e624..48ffcb3 100644 --- a/code/tests/Crossword/Application/Service/CrosswordGeneratorTest.php +++ b/code/src/Crossword/tests/Application/Service/CrosswordGeneratorTest.php @@ -11,7 +11,7 @@ use App\Crossword\Domain\Messages\Message\GenerateCrosswordMessage; use App\Crossword\Infrastructure\Adapter\Dictionary\InMemoryDictionaryAdapter; use App\SharedKernel\Application\Response\API\SuccessApiResponse; -use App\Tests\CrosswordTestCase; +use App\Tests\Crossword\CrosswordTestCase; /** * @coversDefaultClass \App\Crossword\Application\Service\CrosswordGenerator diff --git a/code/tests/Crossword/Application/Service/CrosswordReceiverTest.php b/code/src/Crossword/tests/Application/Service/CrosswordReceiverTest.php similarity index 97% rename from code/tests/Crossword/Application/Service/CrosswordReceiverTest.php rename to code/src/Crossword/tests/Application/Service/CrosswordReceiverTest.php index 0c4901d..2eba677 100644 --- a/code/tests/Crossword/Application/Service/CrosswordReceiverTest.php +++ b/code/src/Crossword/tests/Application/Service/CrosswordReceiverTest.php @@ -10,8 +10,8 @@ use App\Crossword\Infrastructure\Cache\CacheItem; use App\Crossword\Infrastructure\Cache\InMemoryClient; use App\Crossword\Infrastructure\Repository\Redis\ReadCrosswordRepository; -use App\Tests\CrosswordTestCase; use Psr\Log\NullLogger; +use App\Tests\Crossword\CrosswordTestCase; /** * @coversDefaultClass \App\Crossword\Application\Service\CrosswordReceiver diff --git a/code/tests/Crossword/Application/Service/SupportedLanguagesTest.php b/code/src/Crossword/tests/Application/Service/SupportedLanguagesTest.php similarity index 97% rename from code/tests/Crossword/Application/Service/SupportedLanguagesTest.php rename to code/src/Crossword/tests/Application/Service/SupportedLanguagesTest.php index e8b2742..aba3124 100644 --- a/code/tests/Crossword/Application/Service/SupportedLanguagesTest.php +++ b/code/src/Crossword/tests/Application/Service/SupportedLanguagesTest.php @@ -9,8 +9,8 @@ use App\Crossword\Domain\Dto\DictionaryLanguagesDto; use App\Crossword\Infrastructure\Adapter\Dictionary\InMemoryDictionaryAdapter; use App\SharedKernel\Application\Response\API\SuccessApiResponse; -use App\Tests\CrosswordTestCase; use Psr\Log\NullLogger; +use App\Tests\Crossword\CrosswordTestCase; /** * @coversDefaultClass \App\Crossword\Application\Service\SupportedLanguages diff --git a/code/tests/CrosswordTestCase.php b/code/src/Crossword/tests/CrosswordTestCase.php similarity index 98% rename from code/tests/CrosswordTestCase.php rename to code/src/Crossword/tests/CrosswordTestCase.php index 6a140b3..7177c3e 100644 --- a/code/tests/CrosswordTestCase.php +++ b/code/src/Crossword/tests/CrosswordTestCase.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Tests; +namespace App\Tests\Crossword; use Faker\Factory; use PHPUnit\Framework\MockObject\Rule\InvocationOrder; diff --git a/code/tests/Crossword/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php b/code/src/Crossword/tests/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php similarity index 91% rename from code/tests/Crossword/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php rename to code/src/Crossword/tests/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php index c74f5bc..44a83ff 100644 --- a/code/tests/Crossword/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php +++ b/code/src/Crossword/tests/Domain/Messages/Handler/GenerateCrosswordMessageHandlerTest.php @@ -13,13 +13,12 @@ use App\Crossword\Domain\Model\Coordinate; use App\Crossword\Domain\Model\Line; use App\Crossword\Domain\Model\Row; -use App\Crossword\Domain\Repository\PersistCrosswordRepositoryInterface; use App\Crossword\Domain\Service\Constructor\ConstructorFactory; use App\Crossword\Domain\Service\Constructor\ConstructorInterface; use App\Crossword\Infrastructure\Cache\InMemoryClient; use App\Crossword\Infrastructure\Repository\Redis\PersistCrosswordRepository; use App\SharedKernel\Domain\Model\Word; -use App\Tests\CrosswordTestCase; +use App\Tests\Crossword\CrosswordTestCase; /** * @coversDefaultClass \App\Crossword\Domain\Messages\Handler\GenerateCrosswordMessageHandler @@ -33,7 +32,7 @@ public function testGenerateCrosswordMessageHandler(): void { $cache = new InMemoryClient(); - $row = new Row(new Cell(new Coordinate(1,1), null)); + $row = new Row(new Cell(new Coordinate(1, 1), null)); $crosswordDto = new CrosswordDto(new LineDto(new Line($row), new Word('test', 'test test'))); $mockConstructor = $this->createMock(ConstructorInterface::class); $mockConstructor->method('build')->willReturn($crosswordDto); diff --git a/code/tests/Crossword/Domain/Model/CellTest.php b/code/src/Crossword/tests/Domain/Model/CellTest.php similarity index 100% rename from code/tests/Crossword/Domain/Model/CellTest.php rename to code/src/Crossword/tests/Domain/Model/CellTest.php diff --git a/code/tests/Crossword/Domain/Model/CoordinateTest.php b/code/src/Crossword/tests/Domain/Model/CoordinateTest.php similarity index 100% rename from code/tests/Crossword/Domain/Model/CoordinateTest.php rename to code/src/Crossword/tests/Domain/Model/CoordinateTest.php diff --git a/code/tests/Crossword/Domain/Model/GridTest.php b/code/src/Crossword/tests/Domain/Model/GridTest.php similarity index 100% rename from code/tests/Crossword/Domain/Model/GridTest.php rename to code/src/Crossword/tests/Domain/Model/GridTest.php diff --git a/code/tests/Crossword/Domain/Model/LineTest.php b/code/src/Crossword/tests/Domain/Model/LineTest.php similarity index 99% rename from code/tests/Crossword/Domain/Model/LineTest.php rename to code/src/Crossword/tests/Domain/Model/LineTest.php index 4ee6c92..cbbee75 100644 --- a/code/tests/Crossword/Domain/Model/LineTest.php +++ b/code/src/Crossword/tests/Domain/Model/LineTest.php @@ -27,7 +27,6 @@ public function testFillLetter(): void $cells = $line->jsonSerialize(); self::assertSame($cells[0]['letter'], 'q'); - } /** diff --git a/code/tests/Crossword/Domain/Model/RowTest.php b/code/src/Crossword/tests/Domain/Model/RowTest.php similarity index 100% rename from code/tests/Crossword/Domain/Model/RowTest.php rename to code/src/Crossword/tests/Domain/Model/RowTest.php diff --git a/code/tests/Crossword/Domain/Service/Constructor/ConstructorFactoryTest.php b/code/src/Crossword/tests/Domain/Service/Constructor/ConstructorFactoryTest.php similarity index 92% rename from code/tests/Crossword/Domain/Service/Constructor/ConstructorFactoryTest.php rename to code/src/Crossword/tests/Domain/Service/Constructor/ConstructorFactoryTest.php index 71a0d4a..65985f1 100644 --- a/code/tests/Crossword/Domain/Service/Constructor/ConstructorFactoryTest.php +++ b/code/src/Crossword/tests/Domain/Service/Constructor/ConstructorFactoryTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Tests\Crossword\Domain\Service\Constructor; +namespace Tests\Crossword\Domain\Service\Constructor; use App\Crossword\Domain\Enum\Type; use App\Crossword\Domain\Service\Constructor\ConstructorFactory; @@ -10,7 +10,7 @@ use App\Crossword\Domain\Service\Constructor\Normal\NormalConstructor; use App\Crossword\Domain\Service\WordFinder; use App\Crossword\Infrastructure\Adapter\Dictionary\InMemoryDictionaryAdapter; -use App\Tests\CrosswordTestCase; +use App\Tests\Crossword\CrosswordTestCase; use Generator; use Psr\Log\NullLogger; diff --git a/code/tests/Crossword/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php b/code/src/Crossword/tests/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php similarity index 92% rename from code/tests/Crossword/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php rename to code/src/Crossword/tests/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php index a3f6138..421a6ae 100644 --- a/code/tests/Crossword/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php +++ b/code/src/Crossword/tests/Domain/Service/Constructor/Normal/AttemptWordFinderTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Tests\Crossword\Domain\Service\Constructor\Normal; +namespace Tests\Crossword\Domain\Service\Constructor\Normal; use App\Crossword\Domain\Dto\DictionaryWordDto; use App\Crossword\Domain\Service\Constructor\Normal\AttemptWordFinder; @@ -11,7 +11,7 @@ use App\SharedKernel\Application\Response\API\SuccessApiResponse; use App\SharedKernel\Domain\Model\Mask; use App\SharedKernel\Domain\Model\Word; -use App\Tests\CrosswordTestCase; +use App\Tests\Crossword\CrosswordTestCase; use Psr\Log\NullLogger; /** diff --git a/code/tests/Crossword/Domain/Service/WordFinderTest.php b/code/src/Crossword/tests/Domain/Service/WordFinderTest.php similarity index 98% rename from code/tests/Crossword/Domain/Service/WordFinderTest.php rename to code/src/Crossword/tests/Domain/Service/WordFinderTest.php index 8a3b42c..19febef 100644 --- a/code/tests/Crossword/Domain/Service/WordFinderTest.php +++ b/code/src/Crossword/tests/Domain/Service/WordFinderTest.php @@ -13,8 +13,8 @@ use App\SharedKernel\Application\Response\API\FailedApiResponse; use App\SharedKernel\Application\Response\API\SuccessApiResponse; use App\SharedKernel\Domain\Model\Word; -use App\Tests\CrosswordTestCase; use Psr\Log\NullLogger; +use App\Tests\Crossword\CrosswordTestCase; /** * @coversDefaultClass \App\Crossword\Domain\Service\WordFinder diff --git a/code/src/Crossword/tests/bootstrap.php b/code/src/Crossword/tests/bootstrap.php new file mode 100644 index 0000000..128206c --- /dev/null +++ b/code/src/Crossword/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__) . '/../../.env'); +} diff --git a/code/src/Dictionary/config/ecs.php b/code/src/Dictionary/config/ecs.php index c699633..f84c1b9 100644 --- a/code/src/Dictionary/config/ecs.php +++ b/code/src/Dictionary/config/ecs.php @@ -3,4 +3,5 @@ const DICTIONARY_SKIP_PATH = [ '/src/Dictionary/Infrastructure/Repository', '/src/Dictionary/Infrastructure/Dao', + '/src/Dictionary/tests', ]; diff --git a/code/tests/Dictionary/Application/Assert/FileAssertTest.php b/code/src/Dictionary/tests/Application/Assert/FileAssertTest.php similarity index 92% rename from code/tests/Dictionary/Application/Assert/FileAssertTest.php rename to code/src/Dictionary/tests/Application/Assert/FileAssertTest.php index 617c441..b32ca94 100644 --- a/code/tests/Dictionary/Application/Assert/FileAssertTest.php +++ b/code/src/Dictionary/tests/Application/Assert/FileAssertTest.php @@ -5,13 +5,13 @@ namespace App\Tests\Dictionary\Application\Assert; use App\Dictionary\Application\Assert\FileAssert; -use App\Tests\CrosswordTestCase; use RuntimeException; +use App\Tests\Dictionary\DictionaryTestCase; /** * @coversDefaultClass \App\Dictionary\Application\Assert\FileAssert */ -final class FileAssertTest extends CrosswordTestCase +final class FileAssertTest extends DictionaryTestCase { /** * @covers ::assertFile diff --git a/code/tests/Dictionary/Application/Service/WordsStoragePopulateTest.php b/code/src/Dictionary/tests/Application/Service/WordsStoragePopulateTest.php similarity index 89% rename from code/tests/Dictionary/Application/Service/WordsStoragePopulateTest.php rename to code/src/Dictionary/tests/Application/Service/WordsStoragePopulateTest.php index d1778f5..d371d7f 100644 --- a/code/tests/Dictionary/Application/Service/WordsStoragePopulateTest.php +++ b/code/src/Dictionary/tests/Application/Service/WordsStoragePopulateTest.php @@ -7,13 +7,13 @@ use App\Dictionary\Application\Criteria\WordsStoragePopulateCriteria; use App\Dictionary\Application\Service\WordsStoragePopulate; use App\Dictionary\Infrastructure\FileReader\TextFileReader; -use App\Tests\CrosswordTestCase; use Psr\Log\NullLogger; +use App\Tests\Dictionary\DictionaryTestCase; /** * @coversDefaultClass \App\Dictionary\Application\Service\WordsStoragePopulate */ -final class WordsStoragePopulateTest extends CrosswordTestCase +final class WordsStoragePopulateTest extends DictionaryTestCase { private const WORD_LIST = ['test', 'search', 'date']; diff --git a/code/tests/Dictionary/Application/Service/WordsStorageUploadTest.php b/code/src/Dictionary/tests/Application/Service/WordsStorageUploadTest.php similarity index 90% rename from code/tests/Dictionary/Application/Service/WordsStorageUploadTest.php rename to code/src/Dictionary/tests/Application/Service/WordsStorageUploadTest.php index 744bc47..098b9cc 100644 --- a/code/tests/Dictionary/Application/Service/WordsStorageUploadTest.php +++ b/code/src/Dictionary/tests/Application/Service/WordsStorageUploadTest.php @@ -8,13 +8,13 @@ use App\Dictionary\Application\Service\WordsStorageUpload; use App\Dictionary\Domain\Messages\Message\SaveToStorageMessage; use App\Dictionary\Infrastructure\FileReader\CsvFileReader; -use App\Tests\CrosswordTestCase; use Psr\Log\NullLogger; +use App\Tests\Dictionary\DictionaryTestCase; /** * @coversDefaultClass \App\Dictionary\Application\Service\WordsStorageUpload */ -final class WordsStorageUploadTest extends CrosswordTestCase +final class WordsStorageUploadTest extends DictionaryTestCase { /** * @covers ::execute diff --git a/code/src/Dictionary/tests/DictionaryTestCase.php b/code/src/Dictionary/tests/DictionaryTestCase.php new file mode 100644 index 0000000..ec5aaf7 --- /dev/null +++ b/code/src/Dictionary/tests/DictionaryTestCase.php @@ -0,0 +1,58 @@ +createMock(MessageBusInterface::class); + $messageBus->expects($invocationRule)->method('dispatch'); + + return $messageBus; + } + + $messageBus = $this->createMock(MessageBusInterface::class); + $messageBus->expects($invocationRule) + ->method('dispatch') + ->withConsecutive( + [ + self::isInstanceOf(get_class($message)), + ] + ) + ->willReturn(new Envelope($message)); + + return $messageBus; + } + + protected function createTempFile(string $ext = '.tmp', array $data = []): string + { + $filePath = sys_get_temp_dir() . uniqid(Factory::create()->name, true) . $ext; + foreach ($data as $item) { + file_put_contents($filePath, $item . PHP_EOL, FILE_APPEND); + } + + return $filePath; + } +} diff --git a/code/tests/Dictionary/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php b/code/src/Dictionary/tests/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php similarity index 92% rename from code/tests/Dictionary/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php rename to code/src/Dictionary/tests/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php index 7a7b080..225c5dd 100644 --- a/code/tests/Dictionary/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php +++ b/code/src/Dictionary/tests/Domain/Messages/Handler/SearchWordDefinitionMessageHandlerTest.php @@ -9,12 +9,12 @@ use App\Dictionary\Domain\Messages\Message\SaveToStorageMessage; use App\Dictionary\Domain\Messages\Message\SearchWordDefinitionMessage; use App\Dictionary\Infrastructure\Gateway\InMemory\WordDefinitionApiGatewayInMemory; -use App\Tests\CrosswordTestCase; +use App\Tests\Dictionary\DictionaryTestCase; /** * @coversDefaultClass \App\Dictionary\Domain\Messages\Handler\SearchWordDefinitionMessageHandler */ -final class SearchWordDefinitionMessageHandlerTest extends CrosswordTestCase +final class SearchWordDefinitionMessageHandlerTest extends DictionaryTestCase { /** * @covers ::__invoke diff --git a/code/src/Dictionary/tests/bootstrap.php b/code/src/Dictionary/tests/bootstrap.php new file mode 100644 index 0000000..128206c --- /dev/null +++ b/code/src/Dictionary/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__) . '/../../.env'); +} diff --git a/code/src/Game/config/ecs.php b/code/src/Game/config/ecs.php index ea2d9db..8e7119d 100644 --- a/code/src/Game/config/ecs.php +++ b/code/src/Game/config/ecs.php @@ -3,4 +3,5 @@ const GAME_SKIP_PATH = [ '/src/Game/Infrastructure/Repository', '/src/Game/Infrastructure/Dao', + '/src/Game/tests', ]; diff --git a/code/tests/Game/Application/Assert/CorrectAnswersAssertTest.php b/code/src/Game/tests/Application/Assert/CorrectAnswersAssertTest.php similarity index 100% rename from code/tests/Game/Application/Assert/CorrectAnswersAssertTest.php rename to code/src/Game/tests/Application/Assert/CorrectAnswersAssertTest.php diff --git a/code/tests/Game/Application/Assert/PasswordAssertTest.php b/code/src/Game/tests/Application/Assert/PasswordAssertTest.php similarity index 100% rename from code/tests/Game/Application/Assert/PasswordAssertTest.php rename to code/src/Game/tests/Application/Assert/PasswordAssertTest.php diff --git a/code/tests/Game/Application/Assert/RoleAssertTest.php b/code/src/Game/tests/Application/Assert/RoleAssertTest.php similarity index 100% rename from code/tests/Game/Application/Assert/RoleAssertTest.php rename to code/src/Game/tests/Application/Assert/RoleAssertTest.php diff --git a/code/tests/Game/Application/Service/Answers/AnswersTest.php b/code/src/Game/tests/Application/Service/Answers/AnswersTest.php similarity index 98% rename from code/tests/Game/Application/Service/Answers/AnswersTest.php rename to code/src/Game/tests/Application/Service/Answers/AnswersTest.php index a789f74..2d8c9ab 100644 --- a/code/tests/Game/Application/Service/Answers/AnswersTest.php +++ b/code/src/Game/tests/Application/Service/Answers/AnswersTest.php @@ -12,7 +12,7 @@ use App\Game\Domain\Model\PlayerId; use App\Game\Infrastructure\Encoder\Base64Encoder; use App\Game\Infrastructure\Repository\InMemory\InMemoryPlayerRepository; -use App\Tests\GameTestCase; +use App\Tests\Game\GameTestCase; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; diff --git a/code/tests/Game/Application/Service/Answers/AnswersValidatorTest.php b/code/src/Game/tests/Application/Service/Answers/AnswersValidatorTest.php similarity index 100% rename from code/tests/Game/Application/Service/Answers/AnswersValidatorTest.php rename to code/src/Game/tests/Application/Service/Answers/AnswersValidatorTest.php diff --git a/code/tests/Game/Application/Service/Auth/PlayerLoginTest.php b/code/src/Game/tests/Application/Service/Auth/PlayerLoginTest.php similarity index 98% rename from code/tests/Game/Application/Service/Auth/PlayerLoginTest.php rename to code/src/Game/tests/Application/Service/Auth/PlayerLoginTest.php index 0316840..ce42555 100644 --- a/code/tests/Game/Application/Service/Auth/PlayerLoginTest.php +++ b/code/src/Game/tests/Application/Service/Auth/PlayerLoginTest.php @@ -9,7 +9,7 @@ use App\Game\Domain\Model\PlayerId; use App\Game\Domain\Service\PlayerTokenHack; use App\Game\Infrastructure\Repository\InMemory\InMemoryPlayerRepository; -use App\Tests\GameTestCase; +use App\Tests\Game\GameTestCase; use Psr\Log\NullLogger; use Symfony\Component\HttpFoundation\Session\SessionInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; diff --git a/code/tests/Game/Application/Service/Auth/PlayerRegisterTest.php b/code/src/Game/tests/Application/Service/Auth/PlayerRegisterTest.php similarity index 100% rename from code/tests/Game/Application/Service/Auth/PlayerRegisterTest.php rename to code/src/Game/tests/Application/Service/Auth/PlayerRegisterTest.php diff --git a/code/tests/Game/Application/Service/GamePlayTest.php b/code/src/Game/tests/Application/Service/GamePlayTest.php similarity index 80% rename from code/tests/Game/Application/Service/GamePlayTest.php rename to code/src/Game/tests/Application/Service/GamePlayTest.php index 23f627a..f64f547 100644 --- a/code/tests/Game/Application/Service/GamePlayTest.php +++ b/code/src/Game/tests/Application/Service/GamePlayTest.php @@ -28,17 +28,17 @@ final class GamePlayTest extends TestCase public function testCreateNewGame(): void { $response = new SuccessApiResponse([ - [ - 'line' => [ - ['coordinate' => '1.1', 'letter' => 't'], - ['coordinate' => '1.2', 'letter' => 'e'], - ['coordinate' => '1.3', 'letter' => 's'], - ['coordinate' => '1.4', 'letter' => 't'], - ], - 'word' => ['definition' => 'test'] - ] + [ + 'line' => [ + ['coordinate' => '1.1', 'letter' => 't'], + ['coordinate' => '1.2', 'letter' => 'e'], + ['coordinate' => '1.3', 'letter' => 's'], + ['coordinate' => '1.4', 'letter' => 't'], + ], + 'word' => ['definition' => 'test'] ] - ); + ]); + $crossword = new CrosswordDto($response->body()); $crosswordMock = $this->createMock(CrosswordInterface::class); diff --git a/code/tests/Game/Application/Service/PlayerFromTokenExtractorTest.php b/code/src/Game/tests/Application/Service/PlayerFromTokenExtractorTest.php similarity index 98% rename from code/tests/Game/Application/Service/PlayerFromTokenExtractorTest.php rename to code/src/Game/tests/Application/Service/PlayerFromTokenExtractorTest.php index 79be4db..0b622ff 100644 --- a/code/tests/Game/Application/Service/PlayerFromTokenExtractorTest.php +++ b/code/src/Game/tests/Application/Service/PlayerFromTokenExtractorTest.php @@ -8,7 +8,7 @@ use App\Game\Application\Service\PlayerFromTokenExtractor; use App\Game\Domain\Dto\PlayerDto; use App\Game\Domain\Model\PlayerId; -use App\Tests\GameTestCase; +use App\Tests\Game\GameTestCase; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; diff --git a/code/tests/Game/Application/Service/PlayerHistoryTest.php b/code/src/Game/tests/Application/Service/PlayerHistoryTest.php similarity index 100% rename from code/tests/Game/Application/Service/PlayerHistoryTest.php rename to code/src/Game/tests/Application/Service/PlayerHistoryTest.php diff --git a/code/tests/Game/Domain/Assembler/PlayerAssemblerTest.php b/code/src/Game/tests/Domain/Assembler/PlayerAssemblerTest.php similarity index 95% rename from code/tests/Game/Domain/Assembler/PlayerAssemblerTest.php rename to code/src/Game/tests/Domain/Assembler/PlayerAssemblerTest.php index 1360e40..70694fa 100644 --- a/code/tests/Game/Domain/Assembler/PlayerAssemblerTest.php +++ b/code/src/Game/tests/Domain/Assembler/PlayerAssemblerTest.php @@ -7,7 +7,7 @@ use App\Game\Domain\Assembler\PlayerAssembler; use App\Game\Domain\Dto\PlayerDto; use App\Game\Domain\Model\PlayerId; -use App\Tests\GameTestCase; +use App\Tests\Game\GameTestCase; /** * @coversDefaultClass \App\Game\Domain\Assembler\PlayerAssembler diff --git a/code/tests/Game/Domain/Model/GridTest.php b/code/src/Game/tests/Domain/Model/GridTest.php similarity index 100% rename from code/tests/Game/Domain/Model/GridTest.php rename to code/src/Game/tests/Domain/Model/GridTest.php diff --git a/code/tests/Game/Domain/Model/PlayerTest.php b/code/src/Game/tests/Domain/Model/PlayerTest.php similarity index 95% rename from code/tests/Game/Domain/Model/PlayerTest.php rename to code/src/Game/tests/Domain/Model/PlayerTest.php index e97bebd..c005fcf 100644 --- a/code/tests/Game/Domain/Model/PlayerTest.php +++ b/code/src/Game/tests/Domain/Model/PlayerTest.php @@ -6,7 +6,7 @@ use App\Game\Domain\Enum\Level; use App\Game\Domain\Model\PlayerId; -use App\Tests\GameTestCase; +use App\Tests\Game\GameTestCase; /** * @coversDefaultClass \App\Game\Domain\Model\Player diff --git a/code/tests/GameTestCase.php b/code/src/Game/tests/GameTestCase.php similarity index 95% rename from code/tests/GameTestCase.php rename to code/src/Game/tests/GameTestCase.php index 250e8f7..6cecdc8 100644 --- a/code/tests/GameTestCase.php +++ b/code/src/Game/tests/GameTestCase.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Tests; +namespace App\Tests\Game; use App\Game\Domain\Enum\Level; use App\Game\Domain\Enum\Role; diff --git a/code/tests/Game/UI/Console/CreatePlayerCommandTest.php b/code/src/Game/tests/UI/Console/CreatePlayerCommandTest.php similarity index 100% rename from code/tests/Game/UI/Console/CreatePlayerCommandTest.php rename to code/src/Game/tests/UI/Console/CreatePlayerCommandTest.php diff --git a/code/src/Game/tests/bootstrap.php b/code/src/Game/tests/bootstrap.php new file mode 100644 index 0000000..128206c --- /dev/null +++ b/code/src/Game/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__) . '/../../.env'); +} diff --git a/code/src/SharedKernel/config/ecs.php b/code/src/SharedKernel/config/ecs.php index f463b6a..1afe32f 100644 --- a/code/src/SharedKernel/config/ecs.php +++ b/code/src/SharedKernel/config/ecs.php @@ -2,4 +2,5 @@ const SHARED_KERNEL_SKIP_PATH = [ '/src/SharedKernel/Infrastructure/HttpClient/Middleware', + '/src/SharedKernel/tests', ]; diff --git a/code/tests/SharedKernel/Application/Assert/RequestAssertTest.php b/code/src/SharedKernel/tests/Application/Assert/RequestAssertTest.php similarity index 100% rename from code/tests/SharedKernel/Application/Assert/RequestAssertTest.php rename to code/src/SharedKernel/tests/Application/Assert/RequestAssertTest.php diff --git a/code/tests/SharedKernel/Application/Response/SuccessResponseTest.php b/code/src/SharedKernel/tests/Application/Response/SuccessResponseTest.php similarity index 100% rename from code/tests/SharedKernel/Application/Response/SuccessResponseTest.php rename to code/src/SharedKernel/tests/Application/Response/SuccessResponseTest.php diff --git a/code/tests/SharedKernel/Domain/Model/MaskTest.php b/code/src/SharedKernel/tests/Domain/Model/MaskTest.php similarity index 100% rename from code/tests/SharedKernel/Domain/Model/MaskTest.php rename to code/src/SharedKernel/tests/Domain/Model/MaskTest.php diff --git a/code/tests/SharedKernel/Infrastructure/HttpClient/ResponseDataExtractorTest.php b/code/src/SharedKernel/tests/Infrastructure/HttpClient/ResponseDataExtractorTest.php similarity index 100% rename from code/tests/SharedKernel/Infrastructure/HttpClient/ResponseDataExtractorTest.php rename to code/src/SharedKernel/tests/Infrastructure/HttpClient/ResponseDataExtractorTest.php diff --git a/code/src/SharedKernel/tests/bootstrap.php b/code/src/SharedKernel/tests/bootstrap.php new file mode 100644 index 0000000..128206c --- /dev/null +++ b/code/src/SharedKernel/tests/bootstrap.php @@ -0,0 +1,11 @@ +bootEnv(dirname(__DIR__) . '/../../.env'); +} diff --git a/code/tests/bootstrap.php b/code/tests/bootstrap.php deleted file mode 100644 index 469dcce..0000000 --- a/code/tests/bootstrap.php +++ /dev/null @@ -1,11 +0,0 @@ -bootEnv(dirname(__DIR__).'/.env'); -}