From 968662ee16a1efc7cb7c176a42af91f36eecc9ca Mon Sep 17 00:00:00 2001 From: Sam Light Date: Wed, 10 Jun 2026 19:00:32 +0100 Subject: Create a group route and name it --- tests/Unit/GroupDefinitionTest.php | 12 ++++++++++++ tests/Unit/RouteDefinitionTest.php | 11 +++++++++++ 2 files changed, 23 insertions(+) (limited to 'tests') diff --git a/tests/Unit/GroupDefinitionTest.php b/tests/Unit/GroupDefinitionTest.php index 59a8d3d..b8e8063 100644 --- a/tests/Unit/GroupDefinitionTest.php +++ b/tests/Unit/GroupDefinitionTest.php @@ -2,8 +2,10 @@ declare(strict_types=1); +use Lightscale\Router\Enums\HttpMethod; use Lightscale\Router\Group; use Lightscale\Router\GroupDefinition; +use Lightscale\Router\PathSegmentMatch; use Lightscale\Router\Router; $make = fn () => new GroupDefinition(new Group(new Router(), null)); @@ -21,3 +23,13 @@ it('creates group with name') ->expect(fn () => $make()->name('name')) ->toBeInstanceOf(Group::class) ->getName()->toBe('name'); + +it('can make a route', function () { + $router = new Router; + $group = (new Group($router, null))->prefix('/test'); + $groupDef = new GroupDefinition($group); + $groupDef->make(HttpMethod::Get, '/hello/world', fn () => null); + + expect($router->findSegment('/test/hello/world')) + ->toBeInstanceOf(PathSegmentMatch::class); +}); diff --git a/tests/Unit/RouteDefinitionTest.php b/tests/Unit/RouteDefinitionTest.php index f605293..e7ab935 100644 --- a/tests/Unit/RouteDefinitionTest.php +++ b/tests/Unit/RouteDefinitionTest.php @@ -3,6 +3,7 @@ declare(strict_types=1); use Lightscale\Router\Enums\HttpMethod; +use Lightscale\Router\Group; use Lightscale\Router\Route; use Lightscale\Router\RouteDefinition; use Lightscale\Router\Router; @@ -21,3 +22,13 @@ it('adds route to named routes', function () { expect($definition->name('testing'))->toBe($definition); expect($router->getNamedRoute('testing'))->toBe($route); }); + +it('adds route to named routes in a group', function () { + $router = new Router(); + $route = new Route(HttpMethod::Get, fn () => null); + (new RouteDefinition($router, $route)) + ->inGroup((new Group($router, null))->name('test.')) + ->name('testing'); + + expect($router->getNamedRoute('test.testing'))->toBe($route); +}); -- cgit v1.2.3