diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index 0a8a09d7..7ff7ad8a 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -41,7 +41,7 @@ runs: extensions: ${{ inputs.php-extensions }} coverage: pcov ini-values: pcov.directory=module - - run: echo "::set-output name=composerArgs::${{ inputs.php-version == '8.2' && '--ignore-platform-req=php' || '' }}" + - run: echo "::set-output name=composerArgs::${{ inputs.php-version == '8.2' && '--ignore-platform-req=php+' || '' }}" id: composer_args shell: bash - name: Install dependencies diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3b2db6ac..b6986061 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: with: php-version: ${{ matrix.php-version }} tools: composer - - run: echo "::set-output name=composerArgs::${{ matrix.php-version == '8.2' && '--ignore-platform-req=php' || '' }}" + - run: echo "::set-output name=composerArgs::${{ matrix.php-version == '8.2' && '--ignore-platform-req=php+' || '' }}" id: composer_args shell: bash - run: composer install --no-interaction --prefer-dist ${{ steps.composer_args.outputs.composerArgs }} diff --git a/indocker b/indocker index 03061e2f..789386ac 100755 --- a/indocker +++ b/indocker @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Run docker containers if they are not up yet -if ! [[ $(docker ps | grep shlink) ]]; then +if ! [[ $(docker ps | grep shlink_swoole) ]]; then docker-compose up -d fi diff --git a/module/Core/src/Action/RobotsAction.php b/module/Core/src/Action/RobotsAction.php index 12baa7b3..214dc7a0 100644 --- a/module/Core/src/Action/RobotsAction.php +++ b/module/Core/src/Action/RobotsAction.php @@ -17,7 +17,7 @@ use const PHP_EOL; class RobotsAction implements RequestHandlerInterface, StatusCodeInterface { - public function __construct(private CrawlingHelperInterface $crawlingHelper) + public function __construct(private readonly CrawlingHelperInterface $crawlingHelper) { } diff --git a/module/Core/src/Crawling/CrawlingHelperInterface.php b/module/Core/src/Crawling/CrawlingHelperInterface.php index 635a4fc9..3438b2ba 100644 --- a/module/Core/src/Crawling/CrawlingHelperInterface.php +++ b/module/Core/src/Crawling/CrawlingHelperInterface.php @@ -7,7 +7,7 @@ namespace Shlinkio\Shlink\Core\Crawling; interface CrawlingHelperInterface { /** - * @return string[]|iterable + * @return iterable */ public function listCrawlableShortCodes(): iterable; } diff --git a/module/Core/test/Action/RobotsActionTest.php b/module/Core/test/Action/RobotsActionTest.php index ad8a02d1..4f405506 100644 --- a/module/Core/test/Action/RobotsActionTest.php +++ b/module/Core/test/Action/RobotsActionTest.php @@ -5,23 +5,20 @@ declare(strict_types=1); namespace ShlinkioTest\Shlink\Core\Action; use Laminas\Diactoros\ServerRequestFactory; +use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; -use Prophecy\PhpUnit\ProphecyTrait; -use Prophecy\Prophecy\ObjectProphecy; use Shlinkio\Shlink\Core\Action\RobotsAction; use Shlinkio\Shlink\Core\Crawling\CrawlingHelperInterface; class RobotsActionTest extends TestCase { - use ProphecyTrait; - private RobotsAction $action; - private ObjectProphecy $helper; + private MockObject $helper; protected function setUp(): void { - $this->helper = $this->prophesize(CrawlingHelperInterface::class); - $this->action = new RobotsAction($this->helper->reveal()); + $this->helper = $this->createMock(CrawlingHelperInterface::class); + $this->action = new RobotsAction($this->helper); } /** @@ -30,14 +27,16 @@ class RobotsActionTest extends TestCase */ public function buildsRobotsLinesFromCrawlableShortCodes(array $shortCodes, string $expected): void { - $getShortCodes = $this->helper->listCrawlableShortCodes()->willReturn($shortCodes); + $this->helper + ->expects($this->once()) + ->method('listCrawlableShortCodes') + ->willReturn($shortCodes); $response = $this->action->handle(ServerRequestFactory::fromGlobals()); self::assertEquals(200, $response->getStatusCode()); self::assertEquals($expected, $response->getBody()->__toString()); self::assertEquals('text/plain', $response->getHeaderLine('Content-Type')); - $getShortCodes->shouldHaveBeenCalledOnce(); } public function provideShortCodes(): iterable