diff options
Diffstat (limited to 'tests/Unit')
| -rw-r--r-- | tests/Unit/GroupDefinitionTest.php | 5 | ||||
| -rw-r--r-- | tests/Unit/RouteDefinitionTest.php | 14 | ||||
| -rw-r--r-- | tests/Unit/RouterTest.php | 7 |
3 files changed, 22 insertions, 4 deletions
diff --git a/tests/Unit/GroupDefinitionTest.php b/tests/Unit/GroupDefinitionTest.php index 3ea8275..51ac76f 100644 --- a/tests/Unit/GroupDefinitionTest.php +++ b/tests/Unit/GroupDefinitionTest.php @@ -8,6 +8,7 @@ use Lightscale\Router\GroupDefinition; use Lightscale\Router\PathSegmentMatch; use Lightscale\Router\RouteDefinition; use Lightscale\Router\Router; +use Lightscale\Router\Test\Utils\TestMiddleware; $make = fn () => new GroupDefinition(new Group(new Router(), null)); @@ -42,4 +43,6 @@ it('returns RouteDefinition when making :dataset route') ) ->toBeInstanceOf(RouteDefinition::class); -it('can create a group with middleware')->todo(); +it('can create a group with middleware') + ->expect($make()->middleware(new TestMiddleware())) + ->toBeInstanceOf(Group::class); diff --git a/tests/Unit/RouteDefinitionTest.php b/tests/Unit/RouteDefinitionTest.php index 0e02bac..6e3900e 100644 --- a/tests/Unit/RouteDefinitionTest.php +++ b/tests/Unit/RouteDefinitionTest.php @@ -7,6 +7,7 @@ use Lightscale\Router\Group; use Lightscale\Router\Route; use Lightscale\Router\RouteDefinition; use Lightscale\Router\Router; +use Lightscale\Router\Test\Utils\TestMiddleware; it('initalizes') ->expect(fn () => new RouteDefinition( @@ -42,4 +43,15 @@ it('gets the route', function () { expect($def->getRoute())->toBe($route); }); -it('adds middleware to route')->todo(); +it('adds middleware to route', function () { + $def = new RouteDefinition( + new Router(), + $route = new Route(HttpMethod::Get, fn () => null), + ); + + $mw = new TestMiddleware(); + expect($def->middleware($mw))->toBe($def); + expect($route->getMiddleware()) + ->toHaveCount(1) + ->{0}->toBe($mw); +}); diff --git a/tests/Unit/RouterTest.php b/tests/Unit/RouterTest.php index 08664c9..a8769c4 100644 --- a/tests/Unit/RouterTest.php +++ b/tests/Unit/RouterTest.php @@ -7,12 +7,14 @@ use Lightscale\Router\Contracts\Strategy; use Lightscale\Router\Enums\HttpMethod; use Lightscale\Router\Enums\PathSegmentType; use Lightscale\Router\Exceptions\MissingParameterException; +use Lightscale\Router\Group; use Lightscale\Router\PathSegment; use Lightscale\Router\Route; use Lightscale\Router\RouteCall; use Lightscale\Router\RouteDefinition; use Lightscale\Router\RouteMatch; use Lightscale\Router\Router; +use Lightscale\Router\Test\Utils\TestMiddleware; use Nyholm\Psr7\Factory\Psr17Factory; it('initializes') @@ -331,5 +333,6 @@ it('builds routes in groups', function () { expect($router->getNamedRoute('test4'))->toBe($r4); }); -it('can create a group with middleware', function () { -}); +it('can create a group with middleware') + ->expect((new Router())->middleware(new TestMiddleware())) + ->toBeInstanceOf(Group::class); |
