Skip to content

Commit 628fde5

Browse files
committed
Fix PHPUnit tests for DI-based Request/Response API
Replace static calls with instance calls via helper functions and recreate the app per request in AppTestCase to ensure a fresh DI container with bootstrapped Environment and Config. Made-with: Cursor
1 parent edd63e1 commit 628fde5

6 files changed

Lines changed: 10 additions & 19 deletions

File tree

tests/Feature/AppTestCase.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
use PHPUnit\Framework\TestCase;
66
use Quantum\App\Enums\AppType;
77
use Quantum\Http\Response;
8-
use Quantum\Http\Request;
98
use Quantum\App\App;
10-
use Quantum\Di\Di;
119

1210
class AppTestCase extends TestCase
1311
{
@@ -42,10 +40,10 @@ public function request(
4240
array $headers = [],
4341
array $files = []
4442
): Response {
45-
Di::resetContainer();
46-
Request::create($method, $url, $params, $headers, $files);
43+
self::$app = createApp(AppType::WEB, PROJECT_ROOT);
44+
request()->create($method, $url, $params, $headers, $files);
4745
self::$app->start();
48-
return new Response();
46+
return response();
4947
}
5048

5149
protected function signInAndGetTokens(): array

tests/Feature/modules/Api/AuthControllerTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
use Quantum\Model\Factories\ModelFactory;
66
use Quantum\Tests\Feature\AppTestCase;
7-
use Quantum\Http\Response;
8-
use Quantum\Http\Request;
97
use Shared\Models\User;
108
use Faker\Generator;
119
use Faker\Factory;
@@ -18,8 +16,8 @@ public function setUp(): void
1816
{
1917
parent::setUp();
2018

21-
Request::flush();
22-
Response::flush();
19+
request()->flush();
20+
response()->flush();
2321

2422
$this->faker = Factory::create();
2523
}

tests/Feature/modules/Api/CommentControllerTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
use Quantum\Model\Factories\ModelFactory;
66
use Quantum\Tests\Feature\AppTestCase;
77
use Shared\Models\Comment;
8-
use Quantum\Http\Response;
9-
use Quantum\Http\Request;
108

119
class CommentControllerTest extends AppTestCase
1210
{
@@ -26,8 +24,8 @@ public function setUp(): void
2624

2725
$this->post = $postData[0];
2826

29-
Request::flush();
30-
Response::flush();
27+
request()->flush();
28+
response()->flush();
3129
}
3230

3331
public function tearDown(): void

tests/Feature/modules/Api/PostControllerTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use Quantum\Model\Factories\ModelFactory;
66
use Quantum\Tests\Feature\AppTestCase;
7-
use Quantum\Http\Request;
87
use Shared\Models\Post;
98

109
class PostControllerTest extends AppTestCase
@@ -13,7 +12,7 @@ public function setUp(): void
1312
{
1413
parent::setUp();
1514

16-
Request::flush();
15+
request()->flush();
1716
}
1817

1918
public function tearDown(): void

tests/Feature/modules/Api/PostManagementControllerTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use Quantum\Model\Factories\ModelFactory;
66
use Quantum\Tests\Feature\AppTestCase;
7-
use Quantum\Http\Request;
87
use Shared\Models\Post;
98

109
class PostManagementControllerTest extends AppTestCase
@@ -17,7 +16,7 @@ public function setUp(): void
1716

1817
$this->tokens = $this->signInAndGetTokens();
1918

20-
Request::flush();
19+
request()->flush();
2120
}
2221

2322
public function tearDown(): void

tests/Helpers/functions.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
use Quantum\Hasher\Hasher;
1414
use Shared\DTOs\PostDTO;
1515
use Quantum\Router\Route;
16-
use Quantum\Http\Request;
1716
use Shared\Models\User;
1817
use Quantum\App\App;
1918
use Faker\Factory;
@@ -55,7 +54,7 @@ function createModule(string $moduleName, string $template, bool $withAssets = f
5554
});
5655
$route->module($moduleName);
5756
$matchedRoute = new MatchedRoute($route, []);
58-
Request::setMatchedRoute($matchedRoute);
57+
request()->setMatchedRoute($matchedRoute);
5958

6059
ob_end_clean();
6160
}

0 commit comments

Comments
 (0)