From d5803937abad436ee85be7478fa6f7cd0b3f3b21 Mon Sep 17 00:00:00 2001 From: Sam Light Date: Wed, 10 Jun 2026 19:00:32 +0100 Subject: strategy runs middleware test --- tests/Unit/BasicStrategyTest.php | 36 ++++++++++++++++++++++++++++++++++-- 1 file 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(); }); -- cgit v1.2.3