From 9b696cbfa6d471558c1599cd5b201d45003b3f2e Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 11:48:02 +0200 Subject: [PATCH 1/9] Add support for symfony 7 and doctrine collections 2 --- .github/workflows/test-application.yaml | 2 ++ composer.json | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 3fb7c6c..6ed788f 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -24,6 +24,8 @@ jobs: dependencies: 'lowest' - php-version: '8.0' - php-version: '8.1' + - php-version: '8.2' + - php-version: '8.3' coverage: 'true' steps: diff --git a/composer.json b/composer.json index 6892573..10c4947 100644 --- a/composer.json +++ b/composer.json @@ -10,16 +10,16 @@ } ], "require": { - "php": "^8.0 || ^8.1", - "doctrine/collections": "^1.0", + "php": "^8.0", + "doctrine/collections": "^1.0 || ^2.0", "ramsey/uuid": "^3.1 || ^4.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", + "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", "dragonmantank/cron-expression": "^1.1 || ^2.0 || ^3.0" }, "require-dev": { "mikey179/vfsstream": "^1.6.7", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^5.4 || ^6.0" + "psr/log": "^1.0 || ^2.0 || ^3.0", + "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0" }, "autoload": { "psr-4": { From 71d10d1dbef2f93246a93d48748655cdd26e0559 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 11:55:03 +0200 Subject: [PATCH 2/9] Update tests with prophecy --- composer.json | 3 ++- phpunit.xml.dist | 1 + tests/Unit/Builder/TaskBuilderFactoryTest.php | 3 +++ tests/Unit/Builder/TaskBuilderTest.php | 2 ++ tests/Unit/Event/TaskEventTest.php | 3 +++ tests/Unit/Event/TaskExecutionEventTest.php | 3 +++ tests/Unit/Event/TaskFailedEventTest.php | 3 +++ tests/Unit/Execution/TaskExecutionTest.php | 3 +++ tests/Unit/Lock/LockTest.php | 3 +++ tests/Unit/Runner/InsideProcessExecutorTest.php | 3 +++ tests/Unit/Runner/PendingExecutionFinderTest.php | 3 +++ tests/Unit/Runner/TaskRunnerTest.php | 3 +++ tests/Unit/Scheduler/TaskSchedulerTest.php | 3 +++ .../Storage/ArrayStorage/ArrayTaskExecutionRepositoryTest.php | 3 +++ tests/Unit/Storage/ArrayStorage/ArrayTaskRepositoryTest.php | 3 +++ 15 files changed, 41 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 10c4947..8780ad3 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,8 @@ "require-dev": { "mikey179/vfsstream": "^1.6.7", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0" + "phpunit/phpunit": "^9.5 || ^10 || ^11", + "phpspec/prophecy-phpunit": "^2.0" }, "autoload": { "psr-4": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 8bd5097..0389bd0 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -7,6 +7,7 @@ bootstrap="vendor/autoload.php"> + diff --git a/tests/Unit/Builder/TaskBuilderFactoryTest.php b/tests/Unit/Builder/TaskBuilderFactoryTest.php index a66b253..c29f9df 100644 --- a/tests/Unit/Builder/TaskBuilderFactoryTest.php +++ b/tests/Unit/Builder/TaskBuilderFactoryTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Builder; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Builder\TaskBuilderFactory; use Task\Builder\TaskBuilderInterface; use Task\Scheduler\TaskSchedulerInterface; @@ -22,6 +23,8 @@ */ class TaskBuilderFactoryTest extends TestCase { + use ProphecyTrait; + public function testCreate() { $task = $this->prophesize(TaskInterface::class); diff --git a/tests/Unit/Builder/TaskBuilderTest.php b/tests/Unit/Builder/TaskBuilderTest.php index 0269da0..471eb1a 100644 --- a/tests/Unit/Builder/TaskBuilderTest.php +++ b/tests/Unit/Builder/TaskBuilderTest.php @@ -13,6 +13,7 @@ use Cron\CronExpression; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Builder\TaskBuilder; use Task\Scheduler\TaskSchedulerInterface; use Task\TaskInterface; @@ -22,6 +23,7 @@ */ class TaskBuilderTest extends TestCase { + use ProphecyTrait; public function testHourly() { $task = $this->prophesize(TaskInterface::class); diff --git a/tests/Unit/Event/TaskEventTest.php b/tests/Unit/Event/TaskEventTest.php index 62b4a6e..30e5ca4 100644 --- a/tests/Unit/Event/TaskEventTest.php +++ b/tests/Unit/Event/TaskEventTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Event; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Event\TaskEvent; use Task\TaskInterface; @@ -20,6 +21,8 @@ */ class TaskEventTest extends TestCase { + use ProphecyTrait; + public function testGetTask() { $task = $this->prophesize(TaskInterface::class); diff --git a/tests/Unit/Event/TaskExecutionEventTest.php b/tests/Unit/Event/TaskExecutionEventTest.php index 0bb39aa..d4c2387 100644 --- a/tests/Unit/Event/TaskExecutionEventTest.php +++ b/tests/Unit/Event/TaskExecutionEventTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Event; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Event\TaskExecutionEvent; use Task\Execution\TaskExecutionInterface; use Task\TaskInterface; @@ -21,6 +22,8 @@ */ class TaskExecutionEventTest extends TestCase { + use ProphecyTrait; + public function testGetTask() { $task = $this->prophesize(TaskInterface::class); diff --git a/tests/Unit/Event/TaskFailedEventTest.php b/tests/Unit/Event/TaskFailedEventTest.php index 8daf850..823c159 100644 --- a/tests/Unit/Event/TaskFailedEventTest.php +++ b/tests/Unit/Event/TaskFailedEventTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Event; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Event\TaskFailedEvent; use Task\TaskInterface; @@ -20,6 +21,8 @@ */ class TaskFailedEventTest extends TestCase { + use ProphecyTrait; + public function testGetTask() { $task = $this->prophesize(TaskInterface::class); diff --git a/tests/Unit/Execution/TaskExecutionTest.php b/tests/Unit/Execution/TaskExecutionTest.php index 084e54e..5153dfb 100644 --- a/tests/Unit/Execution/TaskExecutionTest.php +++ b/tests/Unit/Execution/TaskExecutionTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Execution; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Execution\TaskExecution; use Task\Task; use Task\TaskStatus; @@ -21,6 +22,8 @@ */ class TaskExecutionTest extends TestCase { + use ProphecyTrait; + public function testUuid() { $task = $this->prophesize(Task::class); diff --git a/tests/Unit/Lock/LockTest.php b/tests/Unit/Lock/LockTest.php index 8c19d6a..8bccc03 100644 --- a/tests/Unit/Lock/LockTest.php +++ b/tests/Unit/Lock/LockTest.php @@ -12,6 +12,7 @@ namespace Task\Tests\Unit\Lock; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Lock\Exception\LockConflictException; use Task\Lock\Lock; use Task\Lock\LockInterface; @@ -19,6 +20,8 @@ class LockTest extends TestCase { + use ProphecyTrait; + /** * @var LockStorageInterface */ diff --git a/tests/Unit/Runner/InsideProcessExecutorTest.php b/tests/Unit/Runner/InsideProcessExecutorTest.php index 81cc0ff..73e1bf8 100644 --- a/tests/Unit/Runner/InsideProcessExecutorTest.php +++ b/tests/Unit/Runner/InsideProcessExecutorTest.php @@ -12,6 +12,7 @@ namespace Unit\Runner; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Execution\TaskExecutionInterface; use Task\Executor\FailedException; use Task\Executor\InsideProcessExecutor; @@ -22,6 +23,8 @@ class InsideProcessExecutorTest extends TestCase { + use ProphecyTrait; + /** * @var TaskHandlerFactoryInterface */ diff --git a/tests/Unit/Runner/PendingExecutionFinderTest.php b/tests/Unit/Runner/PendingExecutionFinderTest.php index 5c97349..ad30269 100644 --- a/tests/Unit/Runner/PendingExecutionFinderTest.php +++ b/tests/Unit/Runner/PendingExecutionFinderTest.php @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Ramsey\Uuid\Uuid; use Task\Execution\TaskExecutionInterface; use Task\Handler\TaskHandlerFactoryInterface; @@ -24,6 +25,8 @@ class PendingExecutionFinderTest extends TestCase { + use ProphecyTrait; + const HANDLER = 'AppBundle\\Handler\\TestHandler'; const LOCKING_HANDLER = 'AppBundle\\Handler\\LockingTestHandler'; diff --git a/tests/Unit/Runner/TaskRunnerTest.php b/tests/Unit/Runner/TaskRunnerTest.php index 8dad664..a6349fa 100644 --- a/tests/Unit/Runner/TaskRunnerTest.php +++ b/tests/Unit/Runner/TaskRunnerTest.php @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Task\Event\Events; @@ -33,6 +34,8 @@ */ class TaskRunnerTest extends TestCase { + use ProphecyTrait; + /** * @var TaskExecutionRepositoryInterface */ diff --git a/tests/Unit/Scheduler/TaskSchedulerTest.php b/tests/Unit/Scheduler/TaskSchedulerTest.php index 05eb267..59cdcca 100644 --- a/tests/Unit/Scheduler/TaskSchedulerTest.php +++ b/tests/Unit/Scheduler/TaskSchedulerTest.php @@ -14,6 +14,7 @@ use Cron\CronExpression; use PHPUnit\Framework\TestCase; use Prophecy\Argument; +use Prophecy\PhpUnit\ProphecyTrait; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; use Task\Builder\TaskBuilderFactoryInterface; @@ -35,6 +36,8 @@ */ class TaskSchedulerTest extends TestCase { + use ProphecyTrait; + /** * @var TaskBuilderFactoryInterface */ diff --git a/tests/Unit/Storage/ArrayStorage/ArrayTaskExecutionRepositoryTest.php b/tests/Unit/Storage/ArrayStorage/ArrayTaskExecutionRepositoryTest.php index f832bca..bcbf038 100644 --- a/tests/Unit/Storage/ArrayStorage/ArrayTaskExecutionRepositoryTest.php +++ b/tests/Unit/Storage/ArrayStorage/ArrayTaskExecutionRepositoryTest.php @@ -14,6 +14,7 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Execution\TaskExecution; use Task\Execution\TaskExecutionInterface; use Task\Storage\ArrayStorage\ArrayTaskExecutionRepository; @@ -25,6 +26,8 @@ */ class ArrayTaskExecutionRepositoryTest extends TestCase { + use ProphecyTrait; + public function testSave() { $taskExecutionCollection = $this->prophesize(Collection::class); diff --git a/tests/Unit/Storage/ArrayStorage/ArrayTaskRepositoryTest.php b/tests/Unit/Storage/ArrayStorage/ArrayTaskRepositoryTest.php index dc74a7e..dbabf75 100644 --- a/tests/Unit/Storage/ArrayStorage/ArrayTaskRepositoryTest.php +++ b/tests/Unit/Storage/ArrayStorage/ArrayTaskRepositoryTest.php @@ -15,6 +15,7 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; use Task\Storage\ArrayStorage\ArrayTaskRepository; use Task\Task; use Task\TaskInterface; @@ -24,6 +25,8 @@ */ class ArrayTaskRepositoryTest extends TestCase { + use ProphecyTrait; + public function testFindByUuid() { $tasks = [ From fb39cede6cc19ddf1eedc008b74655b88ff36f86 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:01:27 +0200 Subject: [PATCH 3/9] Fix failing test cases --- tests/Unit/Runner/TaskRunnerTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Unit/Runner/TaskRunnerTest.php b/tests/Unit/Runner/TaskRunnerTest.php index a6349fa..c34dcfb 100644 --- a/tests/Unit/Runner/TaskRunnerTest.php +++ b/tests/Unit/Runner/TaskRunnerTest.php @@ -84,8 +84,8 @@ public function testRunTasks() $this->createTaskExecution($task, new \DateTime(), 'Test 2')->setStatus(TaskStatus::PLANNED), ]; - $this->taskExecutionRepository->save($executions[0])->willReturnArgument(0)->shouldBeCalledTimes(2); - $this->taskExecutionRepository->save($executions[1])->willReturnArgument(0)->shouldBeCalledTimes(2); + $this->taskExecutionRepository->save($executions[0])->willReturnArgument(0)->shouldBeCalledTimes(3); + $this->taskExecutionRepository->save($executions[1])->willReturnArgument(0)->shouldBeCalledTimes(3); $this->executor->execute($executions[0])->willReturn(strrev('Test 1')); $this->executor->execute($executions[1])->willReturn(strrev('Test 2')); @@ -118,8 +118,8 @@ public function testRunTasksFailed() $this->createTaskExecution($task, new \DateTime(), 'Test 2')->setStatus(TaskStatus::PLANNED), ]; - $this->taskExecutionRepository->save($executions[0])->willReturnArgument(0)->shouldBeCalledTimes(2); - $this->taskExecutionRepository->save($executions[1])->willReturnArgument(0)->shouldBeCalledTimes(2); + $this->taskExecutionRepository->save($executions[0])->willReturnArgument(0)->shouldBeCalledTimes(3); + $this->taskExecutionRepository->save($executions[1])->willReturnArgument(0)->shouldBeCalledTimes(3); $this->executor->execute($executions[0])->willThrow(new \Exception()); $this->executor->execute($executions[1])->willReturn(strrev('Test 2')); From 681f50ecfd8afbeb7fdac8b75ef250fb1c2f42e1 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:02:37 +0200 Subject: [PATCH 4/9] Update CI script --- .github/workflows/test-application.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 6ed788f..4ed0e81 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -49,7 +49,7 @@ jobs: composer-options: --prefer-dist --no-suggest - name: Execute test - run: vendor/bin/simple-phpunit -c phpunit.xml.dist --coverage-clover=coverage.clover + run: vendor/bin/phpunit --coverage-clover=coverage.clover - name: Coverage if: ${{ matrix.coverage }} From 55ca8ff90c623c875a40c24118e2140744199f47 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:03:45 +0200 Subject: [PATCH 5/9] Fix some code style --- tests/Unit/Builder/TaskBuilderTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Unit/Builder/TaskBuilderTest.php b/tests/Unit/Builder/TaskBuilderTest.php index 471eb1a..f11dac3 100644 --- a/tests/Unit/Builder/TaskBuilderTest.php +++ b/tests/Unit/Builder/TaskBuilderTest.php @@ -24,6 +24,7 @@ class TaskBuilderTest extends TestCase { use ProphecyTrait; + public function testHourly() { $task = $this->prophesize(TaskInterface::class); From 651553b006c425f4fe5875819c29963a2254fb66 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:04:23 +0200 Subject: [PATCH 6/9] Add PHP 8.4 to test CI --- .github/workflows/test-application.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 4ed0e81..79f55cd 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -27,6 +27,7 @@ jobs: - php-version: '8.2' - php-version: '8.3' coverage: 'true' + - php-version: '8.4' steps: - name: Checkout project From ff423c17011aec821f672d50db1caca232025b8a Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:17:54 +0200 Subject: [PATCH 7/9] CI Changes --- .github/workflows/test-application.yaml | 4 +++- .gitignore | 1 + composer.json | 2 +- phpunit-9.xml.dist | 31 +++++++++++++++++++++++++ phpunit.xml.dist | 24 +++++++++---------- 5 files changed, 48 insertions(+), 14 deletions(-) create mode 100644 phpunit-9.xml.dist diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 79f55cd..126ee35 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -22,7 +22,9 @@ jobs: include: - php-version: '8.0' dependencies: 'lowest' + phpunit-config: 'phpunit-9.xml.dist' - php-version: '8.0' + phpunit-config: 'phpunit-9.xml.dist' - php-version: '8.1' - php-version: '8.2' - php-version: '8.3' @@ -50,7 +52,7 @@ jobs: composer-options: --prefer-dist --no-suggest - name: Execute test - run: vendor/bin/phpunit --coverage-clover=coverage.clover + run: vendor/bin/phpunit --config ${{ matrix.phpunit-config || 'phpunit.xml.dist' }} --coverage-clover=coverage.clover - name: Coverage if: ${{ matrix.coverage }} diff --git a/.gitignore b/.gitignore index ccb14bc..5084260 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ composer.phar *.iml .idea +.phpunit.cache diff --git a/composer.json b/composer.json index 8780ad3..8a65557 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "require-dev": { "mikey179/vfsstream": "^1.6.7", "psr/log": "^1.0 || ^2.0 || ^3.0", - "phpunit/phpunit": "^9.5 || ^10 || ^11", + "phpunit/phpunit": "^9.6.5 || ^10 || ^11", "phpspec/prophecy-phpunit": "^2.0" }, "autoload": { diff --git a/phpunit-9.xml.dist b/phpunit-9.xml.dist new file mode 100644 index 0000000..0389bd0 --- /dev/null +++ b/phpunit-9.xml.dist @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + ./tests/ + + + + + + ./ + + ./vendor + ./tests + + + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 0389bd0..76daf73 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,13 +1,12 @@ - - - + + @@ -19,13 +18,14 @@ - - + + ./ - - ./vendor - ./tests - - - + + + + ./vendor + ./tests + + From 1e13527c0945ccfd4a859d6feb67971e369e4bb5 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:20:32 +0200 Subject: [PATCH 8/9] Update composer deps --- composer.json | 2 +- phpunit-9.xml.dist | 3 --- phpunit.xml.dist | 3 --- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/composer.json b/composer.json index 8a65557..896716e 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "mikey179/vfsstream": "^1.6.7", "psr/log": "^1.0 || ^2.0 || ^3.0", "phpunit/phpunit": "^9.6.5 || ^10 || ^11", - "phpspec/prophecy-phpunit": "^2.0" + "phpspec/prophecy-phpunit": "^2.0.1" }, "autoload": { "psr-4": { diff --git a/phpunit-9.xml.dist b/phpunit-9.xml.dist index 0389bd0..2ad0045 100644 --- a/phpunit-9.xml.dist +++ b/phpunit-9.xml.dist @@ -8,9 +8,6 @@ - - - diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 76daf73..4e8f76b 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -7,9 +7,6 @@ - - - From 56c29a64e4f85271d8beb9e159156cc5f027117c Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Tue, 16 Jul 2024 12:25:53 +0200 Subject: [PATCH 9/9] Fix lowest deps --- .github/workflows/test-application.yaml | 3 ++- composer.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-application.yaml b/.github/workflows/test-application.yaml index 126ee35..e2af8ed 100644 --- a/.github/workflows/test-application.yaml +++ b/.github/workflows/test-application.yaml @@ -30,6 +30,7 @@ jobs: - php-version: '8.3' coverage: 'true' - php-version: '8.4' + composer-flags: '--ignore-platform-reqs' steps: - name: Checkout project @@ -49,7 +50,7 @@ jobs: uses: ramsey/composer-install@v2 with: dependency-versions: ${{ matrix.dependencies }} - composer-options: --prefer-dist --no-suggest + composer-options: --prefer-dist --no-suggest ${{ matrix.composer-flags }} - name: Execute test run: vendor/bin/phpunit --config ${{ matrix.phpunit-config || 'phpunit.xml.dist' }} --coverage-clover=coverage.clover diff --git a/composer.json b/composer.json index 896716e..99deee0 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,8 @@ "mikey179/vfsstream": "^1.6.7", "psr/log": "^1.0 || ^2.0 || ^3.0", "phpunit/phpunit": "^9.6.5 || ^10 || ^11", - "phpspec/prophecy-phpunit": "^2.0.1" + "phpspec/prophecy-phpunit": "^2.0.1", + "phpspec/prophecy": "^1.14" }, "autoload": { "psr-4": {