diff options
| author | Sam Light <sam@lightscale.co.uk> | 2026-06-10 19:00:32 +0100 |
|---|---|---|
| committer | Sam Light <sam@lightscale.co.uk> | 2026-06-10 19:00:32 +0100 |
| commit | d5803937abad436ee85be7478fa6f7cd0b3f3b21 (patch) | |
| tree | 867858a0cc23422897dcea831fd51c3c06ccff35 /tests/Unit/BasicStrategyTest.php | |
| parent | 82671dc3589094a2e68c8ca92ff33c078c7d033f (diff) | |
strategy runs middleware test
Diffstat (limited to 'tests/Unit/BasicStrategyTest.php')
| -rw-r--r-- | tests/Unit/BasicStrategyTest.php | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/tests/Unit/BasicStrategyTest.php b/tests/Unit/BasicStrategyTest.php index 896858d..2c657d6 100644 --- a/tests/Unit/BasicStrategyTest.php +++ b/tests/Unit/BasicStrategyTest.php @@ -6,6 +6,7 @@ use Lightscale\Router\Exceptions\NotFoundException; use Lightscale\Router\Route; use Lightscale\Router\RouteCall; use Lightscale\Router\Test\Utils\TestCallable; +use Lightscale\Router\Test\Utils\TestMiddleware; use Nyholm\Psr7\Factory\Psr17Factory; it('initialises') @@ -43,6 +44,37 @@ it('calls route', function () { expect($res)->toBe($response); }); -it('runs middleware', function() { - $factory = new +it('runs middleware', function () { + $factory = new Psr17Factory(); + $request = $factory->createServerRequest('get', '/test'); + $response = $factory->createResponse(); + + $middleware = [ + $mw1 = new TestMiddleware(), + $mw2 = new TestMiddleware(), + ]; + + $handler = new TestCallable(fn () => $response); + $strategy = new BasicStrategy(); + $result = $strategy->runMiddleware($request, $middleware, $handler); + + expect($result)->toBe($response); + $mw1->assertCalled(); + $mw2->assertCalled(); + $handler->assertCalled(); +}); + +it('runs handler with no middleware', function () { + $factory = new Psr17Factory(); + $request = $factory->createServerRequest('get', '/test'); + $response = $factory->createResponse(); + + $middleware = []; + + $handler = new TestCallable(fn () => $response); + $strategy = new BasicStrategy(); + $result = $strategy->runMiddleware($request, $middleware, $handler); + + expect($result)->toBe($response); + $handler->assertCalled(); }); |
