From b37e6b43ccf6077d2589c6912e0c438fa8c5784f Mon Sep 17 00:00:00 2001 From: roxblnfk Date: Fri, 13 Sep 2024 15:37:38 +0400 Subject: [PATCH] Test that HttpFaker opens `http` scope on request --- tests/app/Controller/GetController.php | 7 +++++++ tests/src/Http/FakeHttpTest.php | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/tests/app/Controller/GetController.php b/tests/app/Controller/GetController.php index 04f68fd..265b5d8 100644 --- a/tests/app/Controller/GetController.php +++ b/tests/app/Controller/GetController.php @@ -5,6 +5,7 @@ namespace Spiral\Testing\Tests\App\Controller; use Psr\Http\Message\ServerRequestInterface; +use Spiral\Core\Internal\Introspector; use Spiral\Router\Annotation\Route; class GetController @@ -20,4 +21,10 @@ public function headers(ServerRequestInterface $request): array { return $request->getHeaders(); } + + #[Route('/get/scopes', 'get.scopes')] + public function scopes(ServerRequestInterface $request): array + { + return Introspector::scopeNames(); + } } diff --git a/tests/src/Http/FakeHttpTest.php b/tests/src/Http/FakeHttpTest.php index 255ff1a..cded893 100644 --- a/tests/src/Http/FakeHttpTest.php +++ b/tests/src/Http/FakeHttpTest.php @@ -17,6 +17,19 @@ public function testGetBodySame(): void $response->assertBodySame('[]'); } + #[TestScope('http')] + public function testHttpScopeDoesNotConflict(): void + { + $response = $this->fakeHttp()->get('/get/query-params'); + $response->assertBodySame('[]'); + } + + public function testAutoHttpScope(): void + { + $response = $this->fakeHttp()->get('/get/scopes'); + $response->assertBodySame('["http-request","http","root"]'); + } + public function testGetWithQueryParams(): void { $response = $this->fakeHttp()->get('/get/query-params', ['foo' => 'bar', 'baz' => ['foo1' => 'bar1']]);