diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c4f4730..6f46ff8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,14 +28,11 @@ jobs: - uses: ramsey/composer-install@v3 - run: composer pest:unit -- --coverage-clover coverage-unit.xml --ci --bail --stop-on-incomplete --fail-on-all-issues - - run: composer pest:feature -- --coverage-clover coverage-feature.xml --ci --bail --stop-on-incomplete --fail-on-all-issues - uses: actions/upload-artifact@v4 with: name: coverage - path: | - coverage-unit.xml - coverage-feature.xml + path: coverage-unit.xml e2e: needs: pest @@ -70,10 +67,3 @@ jobs: disable_search: true files: coverage-unit.xml flags: unit - - uses: codecov/codecov-action@v5 - with: - use_oidc: true - fail_ci_if_error: true - disable_search: true - files: coverage-feature.xml - flags: feature diff --git a/composer.json b/composer.json index 170c74e..13586c0 100644 --- a/composer.json +++ b/composer.json @@ -75,7 +75,6 @@ ], "pest": "pest", "pest:e2e": "XDEBUG_MODE=off pest --group=e2e", - "pest:feature": "pest --group=feature", "pest:unit": "pest --group=unit" } } diff --git a/tests/Feature/Releases/PhpNetReleasesTest.php b/tests/Feature/Releases/PhpNetReleasesTest.php deleted file mode 100644 index c447727..0000000 --- a/tests/Feature/Releases/PhpNetReleasesTest.php +++ /dev/null @@ -1,27 +0,0 @@ -mockHttpClient(); - - $releases = new PhpNetReleases($http); - - $actual = $releases->all(); - - expect($actual)->each->toBeString(); - - $expected = $this->allVersions(); - expect($actual)->toContain(...$expected); - expect($expected)->toContain(...$actual); - }); - }); -}); diff --git a/tests/Feature/TestCase.php b/tests/Feature/TestCase.php deleted file mode 100644 index b8775c1..0000000 --- a/tests/Feature/TestCase.php +++ /dev/null @@ -1,37 +0,0 @@ -append( - new Response(200, [], $body), - ); - } - - $handlerStack = HandlerStack::create($mock); - - return new Http(['handler' => $handlerStack]); - } -} diff --git a/tests/Pest.php b/tests/Pest.php index 4d86c3a..b0e9248 100644 --- a/tests/Pest.php +++ b/tests/Pest.php @@ -3,7 +3,6 @@ declare(strict_types=1); use Tests\E2E\TestCase as E2ETestCase; -use Tests\Feature\TestCase as FeatureTestCase; use Tests\Unit\TestCase as UnitTestCase; /* @@ -16,9 +15,6 @@ pest()->group('e2e') ->in('E2E'); -pest()->group('feature') - ->in('Feature'); - pest()->group('unit') ->in('Unit'); @@ -36,9 +32,6 @@ pest()->extend(E2ETestCase::class) ->in('E2E'); -pest()->extend(FeatureTestCase::class) - ->in('Feature'); - pest()->extend(UnitTestCase::class) ->in('Unit'); diff --git a/tests/TestCase.php b/tests/TestCase.php index 9fb62e6..b70ba3e 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -10,6 +10,12 @@ abstract class TestCase extends BaseTestCase protected const string ALL_VERSIONS_FILE = __DIR__.'/../resources/all-versions.json'; + protected const array RELEASES_JSONS = [ + self::DATA_DIR.'/releases-5.json', + self::DATA_DIR.'/releases-7.json', + self::DATA_DIR.'/releases-8.json', + ]; + /** * @return string[] */ diff --git a/tests/Unit/Releases/PhpNetReleasesTest.php b/tests/Unit/Releases/PhpNetReleasesTest.php index 71d9f96..c9fde4e 100644 --- a/tests/Unit/Releases/PhpNetReleasesTest.php +++ b/tests/Unit/Releases/PhpNetReleasesTest.php @@ -4,6 +4,10 @@ namespace Tests\Unit\Releases; +use GuzzleHttp\Client as Http; +use GuzzleHttp\Handler\MockHandler; +use GuzzleHttp\HandlerStack; +use GuzzleHttp\Psr7\Response; use TypistTech\PhpMatrix\Releases\PhpNetReleases; use TypistTech\PhpMatrix\Releases\ReleasesInterface; @@ -15,4 +19,29 @@ expect($releases)->toBeInstanceOf(ReleasesInterface::class); }); + + describe('::all()', static function (): void { + it('fetches all versions', function () { + $mock = new MockHandler; + foreach ($this::RELEASES_JSONS as $json) { + $body = file_get_contents($json); + $mock->append( + new Response(202, [], $body), + ); + } + $handlerStack = HandlerStack::create($mock); + $http = new Http(['handler' => $handlerStack]); + + $releases = new PhpNetReleases($http); + + $actual = $releases->all(); + + expect($actual)->each->toBeString(); + + $expected = $this->allVersions(); + + expect($actual)->toContain(...$expected); + expect($expected)->toContain(...$actual); + }); + }); });