From bb102cd6b97d6782f9e8a64948142e875c0432d0 Mon Sep 17 00:00:00 2001 From: Aleksander Kowalski Date: Wed, 22 Nov 2023 22:33:53 +0100 Subject: [PATCH] #20 - add scheduler (#21) --- .gitignore | 1 + README.md | 23 ++ composer.json | 1 + composer.lock | 240 +++++++++++++----- deptrac.yaml | 2 + .../Console/AmqpConsumeConsoleCommand.php | 4 +- .../Console/CacheClearConsoleCommand.php | 8 +- src/Application/Console/ConsoleCommand.php | 38 +++ ...and.php => DataFixturesConsoleCommand.php} | 2 +- .../Console/ScheduleConsoleCommand.php | 30 +++ src/Infrastructure/Environment/Settings.php | 7 + src/Infrastructure/Utils/Constants.php | 1 + .../Console/ConsoleCommandTest.php | 27 ++ ...inerTest__testItRegistersAllQueues__1.json | 7 - ...assAttributeCacheTest__testCompile__1.json | 4 - ...ResolverTest__testResolveWithCache__1.json | 5 - ...AttributeResolverTest__testResolve__1.json | 5 - ...nerTest__testItRegistersAllCommand__1.json | 5 - ...usTest__testItRegistersAllCommands__1.json | 1 - .../DomainCommandTest__testMetaData__1.json | 8 - .../DomainCommandTest__testMetaData__2.json | 9 - .../DomainEventTest__testMetaData__1.json | 8 - .../DomainEventTest__testMetaData__2.json | 9 - ...ntBusTest__testItRegistersAllEvent__1.json | 3 - .../JsonTest__testEncodeDecode__1.json | 8 - 25 files changed, 321 insertions(+), 135 deletions(-) create mode 100644 src/Application/Console/ConsoleCommand.php rename src/Application/Console/{DataFixturesCommand.php => DataFixturesConsoleCommand.php} (96%) create mode 100644 src/Application/Console/ScheduleConsoleCommand.php create mode 100644 tests/Application/Console/ConsoleCommandTest.php delete mode 100644 tests/Infrastructure/AMQP/Queue/__snapshots__/QueueContainerTest__testItRegistersAllQueues__1.json delete mode 100644 tests/Infrastructure/Attribute/__snapshots__/ClassAttributeCacheTest__testCompile__1.json delete mode 100644 tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolveWithCache__1.json delete mode 100644 tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolve__1.json delete mode 100644 tests/Infrastructure/Console/__snapshots__/ConsoleCommandContainerTest__testItRegistersAllCommand__1.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/CommandBusTest__testItRegistersAllCommands__1.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__1.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__2.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__1.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__2.json delete mode 100644 tests/Infrastructure/Events/__snapshots__/EventBusTest__testItRegistersAllEvent__1.json delete mode 100644 tests/Infrastructure/Serialization/__snapshots__/JsonTest__testEncodeDecode__1.json diff --git a/.gitignore b/.gitignore index 06c12f9..ad51c9b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ junit.xml clover.xml tests/*.txt /test/*/*Success__1.json +**/__snapshots__/ diff --git a/README.md b/README.md index bc590a7..4ab64ba 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,29 @@ class CreateUserConsoleCommand extends Command } ``` +### Scheduling Commands + +To schedule a command, we use the GO\Scheduler class. This class allows us to define the timing and frequency of command execution. Here's an example of how to schedule a command to run daily: + +```php +$scheduler = new GO\Scheduler(); +$scheduler->php('/path/to/command app:user:create')->daily(); +$scheduler->run(); +``` +In this example, the app:user:create command is scheduled to run every day. + +#### Running the Scheduler +The scheduler should be triggered by a system cron job to ensure it runs at regular intervals. Typically, you would set up a cron job to execute a PHP script that initializes and runs the scheduler. + +For instance, a cron job running every minute might look like this: + +```bash +* * * * * ./bin/console.php schedule +``` + +This setup ensures that your scheduled commands are executed reliably and on time. + + ### Domain event and event handlers The framework implements the amqp protocol with handlers that allow events to be easily pushed onto the queue. diff --git a/composer.json b/composer.json index 39d9d8a..a3082d1 100644 --- a/composer.json +++ b/composer.json @@ -31,6 +31,7 @@ "fakerphp/faker": "^1.23", "lcobucci/clock": "^3.1", "monolog/monolog": "^2.8", + "peppeocchi/php-cron-scheduler": "^4.0", "php-amqplib/php-amqplib": "^3.2", "php-di/php-di": "^7.0", "php-di/slim-bridge": "^3.4", diff --git a/composer.lock b/composer.lock index afd613c..ebf6672 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "35a9da53556c41e34f7058c572c52663", + "content-hash": "28af2ce87d15d97e960f483a556b8f3c", "packages": [ { "name": "awurth/slim-validation", @@ -1339,6 +1339,67 @@ ], "time": "2023-05-17T18:32:04+00:00" }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, { "name": "fakerphp/faker", "version": "v1.23.0", @@ -1918,6 +1979,65 @@ }, "time": "2020-10-15T08:29:30+00:00" }, + { + "name": "peppeocchi/php-cron-scheduler", + "version": "v4.0", + "source": { + "type": "git", + "url": "https://github.com/peppeocchi/php-cron-scheduler.git", + "reference": "0acfa032e60f0ea22a27b96a6b15a673a31d3448" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/peppeocchi/php-cron-scheduler/zipball/0acfa032e60f0ea22a27b96a6b15a673a31d3448", + "reference": "0acfa032e60f0ea22a27b96a6b15a673a31d3448", + "shasum": "" + }, + "require": { + "dragonmantank/cron-expression": "^3.0", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.4", + "phpunit/phpunit": "~9.5", + "swiftmailer/swiftmailer": "~5.4 || ^6.0" + }, + "suggest": { + "swiftmailer/swiftmailer": "Required to send the output of a job to email address/es (~5.4 || ^6.0)." + }, + "type": "library", + "autoload": { + "psr-4": { + "GO\\": "src/GO/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Giuseppe Occhipinti", + "email": "peppeocchi@gmail.com" + }, + { + "name": "Carsten Windler", + "email": "carsten@carstenwindler.de", + "homepage": "http://carstenwindler.de", + "role": "Contributor" + } + ], + "description": "PHP Cron Job Scheduler", + "keywords": [ + "cron job", + "scheduler" + ], + "support": { + "issues": "https://github.com/peppeocchi/php-cron-scheduler/issues", + "source": "https://github.com/peppeocchi/php-cron-scheduler/tree/v4.0" + }, + "time": "2021-04-22T21:32:03+00:00" + }, { "name": "php-amqplib/php-amqplib", "version": "v3.6.0", @@ -5130,6 +5250,64 @@ ], "time": "2023-11-12T22:43:29+00:00" }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + }, { "name": "zircote/swagger-php", "version": "4.7.15", @@ -8558,64 +8736,6 @@ } ], "time": "2021-07-28T10:34:58+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" } ], "aliases": [], @@ -8630,5 +8750,5 @@ "ext-sockets": "*" }, "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/deptrac.yaml b/deptrac.yaml index 8326369..007f516 100644 --- a/deptrac.yaml +++ b/deptrac.yaml @@ -31,3 +31,5 @@ deptrac: - App\Infrastructure\AMQP\Queue\QueueContainer - App\Infrastructure\AMQP\Consumer - App\Infrastructure\AMQP\Queue\QueueContainer + App\Application\Console\ScheduleConsoleCommand: + - App\Infrastructure\Environment\Settings diff --git a/src/Application/Console/AmqpConsumeConsoleCommand.php b/src/Application/Console/AmqpConsumeConsoleCommand.php index 2710453..43d41e8 100644 --- a/src/Application/Console/AmqpConsumeConsoleCommand.php +++ b/src/Application/Console/AmqpConsumeConsoleCommand.php @@ -14,8 +14,10 @@ use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: "app:amqp:consume", description: "Start consuming a given AMQP queue")] -class AmqpConsumeConsoleCommand extends Command implements SignalableCommandInterface +class AmqpConsumeConsoleCommand extends ConsoleCommand implements SignalableCommandInterface { + public static string $signature; + public function __construct( private readonly QueueContainer $queueContainer, private readonly Consumer $consumer, diff --git a/src/Application/Console/CacheClearConsoleCommand.php b/src/Application/Console/CacheClearConsoleCommand.php index 82813f3..51bac7f 100644 --- a/src/Application/Console/CacheClearConsoleCommand.php +++ b/src/Application/Console/CacheClearConsoleCommand.php @@ -11,8 +11,10 @@ use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: "app:cache:clear", description: "Clear all caches")] -class CacheClearConsoleCommand extends Command +class CacheClearConsoleCommand extends ConsoleCommand { + public static string $signature; + public function __construct( private readonly Settings $settings, ) { @@ -21,6 +23,8 @@ public function __construct( protected function execute(InputInterface $input, OutputInterface $output): int { + $output->writeln("Start clear cache"); + $cacheDirs = [$this->settings->get("doctrine.cache_dir"), $this->settings->get("slim.cache_dir")]; foreach ($cacheDirs as $cacheDir) { @@ -31,6 +35,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int $this->removeDirectory($cacheDir); } + $output->writeln("Done clear cache"); + return Command::SUCCESS; } diff --git a/src/Application/Console/ConsoleCommand.php b/src/Application/Console/ConsoleCommand.php new file mode 100644 index 0000000..d2c1875 --- /dev/null +++ b/src/Application/Console/ConsoleCommand.php @@ -0,0 +1,38 @@ +getAttributes(AsCommand::class); + + foreach ($attributes as $attribute) { + $instance = $attribute->newInstance(); + static::$signature = $instance->name; + } + } +} diff --git a/src/Application/Console/DataFixturesCommand.php b/src/Application/Console/DataFixturesConsoleCommand.php similarity index 96% rename from src/Application/Console/DataFixturesCommand.php rename to src/Application/Console/DataFixturesConsoleCommand.php index dcd4ae6..9bc07d3 100644 --- a/src/Application/Console/DataFixturesCommand.php +++ b/src/Application/Console/DataFixturesConsoleCommand.php @@ -14,7 +14,7 @@ use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: "db:seed", description: "Command to run seeds for a databases.")] -class DataFixturesCommand extends Command +class DataFixturesConsoleCommand extends ConsoleCommand { public function __construct( private readonly EntityManagerInterface $entityManager, diff --git a/src/Application/Console/ScheduleConsoleCommand.php b/src/Application/Console/ScheduleConsoleCommand.php new file mode 100644 index 0000000..e6960f5 --- /dev/null +++ b/src/Application/Console/ScheduleConsoleCommand.php @@ -0,0 +1,30 @@ +scheduler->php(Settings::getConsoleRoot() . CacheClearConsoleCommand::getSignature(), PHP_BINARY)->daily(); + $this->scheduler->run(); + + return Command::SUCCESS; + } +} diff --git a/src/Infrastructure/Environment/Settings.php b/src/Infrastructure/Environment/Settings.php index 4a668f7..d7e7ca0 100644 --- a/src/Infrastructure/Environment/Settings.php +++ b/src/Infrastructure/Environment/Settings.php @@ -4,6 +4,8 @@ namespace App\Infrastructure\Environment; +use App\Infrastructure\Utils\Constants; + class Settings { public function __construct( @@ -35,4 +37,9 @@ public static function getAppRoot(): string { return dirname(__DIR__, 3); } + + public static function getConsoleRoot(): string + { + return sprintf("%s%s ", dirname(__DIR__, 3), Constants::CONSOLE_ROUTE); + } } diff --git a/src/Infrastructure/Utils/Constants.php b/src/Infrastructure/Utils/Constants.php index 4f6e282..ea17314 100644 --- a/src/Infrastructure/Utils/Constants.php +++ b/src/Infrastructure/Utils/Constants.php @@ -7,4 +7,5 @@ class Constants { public const ONE_HOUR = 3600; + public const CONSOLE_ROUTE = "/bin/console.php"; } diff --git a/tests/Application/Console/ConsoleCommandTest.php b/tests/Application/Console/ConsoleCommandTest.php new file mode 100644 index 0000000..d45f473 --- /dev/null +++ b/tests/Application/Console/ConsoleCommandTest.php @@ -0,0 +1,27 @@ +assertEmpty($signature); + } + + public function testGetSignatureWithAttributeSuccess(): void + { + $signature = CacheClearConsoleCommand::getSignature(); + + $this->assertEquals("app:cache:clear", $signature); + } +} diff --git a/tests/Infrastructure/AMQP/Queue/__snapshots__/QueueContainerTest__testItRegistersAllQueues__1.json b/tests/Infrastructure/AMQP/Queue/__snapshots__/QueueContainerTest__testItRegistersAllQueues__1.json deleted file mode 100644 index 9bd3880..0000000 --- a/tests/Infrastructure/AMQP/Queue/__snapshots__/QueueContainerTest__testItRegistersAllQueues__1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "user-command-queue": { - "queueName": "user-command-queue", - "workerName": "event-queue-worker", - "numberOfConsumers": 1 - } -} \ No newline at end of file diff --git a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeCacheTest__testCompile__1.json b/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeCacheTest__testCompile__1.json deleted file mode 100644 index 4138bfa..0000000 --- a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeCacheTest__testCompile__1.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - "classOne", - "classTwo" -] diff --git a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolveWithCache__1.json b/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolveWithCache__1.json deleted file mode 100644 index 77a3a48..0000000 --- a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolveWithCache__1.json +++ /dev/null @@ -1,5 +0,0 @@ -[ - "App\\Application\\Console\\AmqpConsumeConsoleCommand", - "App\\Application\\Console\\CacheClearConsoleCommand", - "App\\Application\\Console\\DataFixturesCommand" -] diff --git a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolve__1.json b/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolve__1.json deleted file mode 100644 index 1b13c7d..0000000 --- a/tests/Infrastructure/Attribute/__snapshots__/ClassAttributeResolverTest__testResolve__1.json +++ /dev/null @@ -1,5 +0,0 @@ -[ - "App\\Application\\Console\\AmqpConsumeConsoleCommand", - "App\\Application\\Console\\CacheClearConsoleCommand", - "App\\Application\\Console\\DataFixturesCommand" -] diff --git a/tests/Infrastructure/Console/__snapshots__/ConsoleCommandContainerTest__testItRegistersAllCommand__1.json b/tests/Infrastructure/Console/__snapshots__/ConsoleCommandContainerTest__testItRegistersAllCommand__1.json deleted file mode 100644 index 2516963..0000000 --- a/tests/Infrastructure/Console/__snapshots__/ConsoleCommandContainerTest__testItRegistersAllCommand__1.json +++ /dev/null @@ -1,5 +0,0 @@ -[ - "app:amqp:consume", - "app:cache:clear", - "db:seed" -] diff --git a/tests/Infrastructure/Events/__snapshots__/CommandBusTest__testItRegistersAllCommands__1.json b/tests/Infrastructure/Events/__snapshots__/CommandBusTest__testItRegistersAllCommands__1.json deleted file mode 100644 index fe51488..0000000 --- a/tests/Infrastructure/Events/__snapshots__/CommandBusTest__testItRegistersAllCommands__1.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__1.json b/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__1.json deleted file mode 100644 index 126f442..0000000 --- a/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "commandName": "App.Tests.Infrastructure.CQRS.TestCommand", - "payload": { - "metadata": { - "key": "value" - } - } -} diff --git a/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__2.json b/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__2.json deleted file mode 100644 index 7397325..0000000 --- a/tests/Infrastructure/Events/__snapshots__/DomainCommandTest__testMetaData__2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "commandName": "App.Tests.Infrastructure.CQRS.TestCommand", - "payload": { - "metadata": { - "key": "value override", - "key2": "value" - } - } -} diff --git a/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__1.json b/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__1.json deleted file mode 100644 index f2add27..0000000 --- a/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "eventName": "Tests.Infrastructure.Events.TestEvent", - "payload": { - "metadata": { - "key": "value" - } - } -} diff --git a/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__2.json b/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__2.json deleted file mode 100644 index c371fa8..0000000 --- a/tests/Infrastructure/Events/__snapshots__/DomainEventTest__testMetaData__2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "eventName": "Tests.Infrastructure.Events.TestEvent", - "payload": { - "metadata": { - "key": "value override", - "key2": "value" - } - } -} diff --git a/tests/Infrastructure/Events/__snapshots__/EventBusTest__testItRegistersAllEvent__1.json b/tests/Infrastructure/Events/__snapshots__/EventBusTest__testItRegistersAllEvent__1.json deleted file mode 100644 index 28f4a88..0000000 --- a/tests/Infrastructure/Events/__snapshots__/EventBusTest__testItRegistersAllEvent__1.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "App\\Domain\\Service\\User\\DomainEvents\\UserWasCreated" -] diff --git a/tests/Infrastructure/Serialization/__snapshots__/JsonTest__testEncodeDecode__1.json b/tests/Infrastructure/Serialization/__snapshots__/JsonTest__testEncodeDecode__1.json deleted file mode 100644 index afe4749..0000000 --- a/tests/Infrastructure/Serialization/__snapshots__/JsonTest__testEncodeDecode__1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "random": { - "array": [ - "with", - "children" - ] - } -}