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 | 57e101668e62aab7d332c1c2f403eee9511de626 (patch) | |
| tree | 46eda6f39a910e78362e69b35c1b81e7ca64129f | |
| parent | 25d0c98dd7b69695d0b2a8aa24d991359b371455 (diff) | |
RouteDefinition can add name
| -rw-r--r-- | src/RouteDefinition.php | 10 | ||||
| -rw-r--r-- | tests/Unit/RouteDefinitionTest.php | 12 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/RouteDefinition.php b/src/RouteDefinition.php index ed6c721..fb10380 100644 --- a/src/RouteDefinition.php +++ b/src/RouteDefinition.php @@ -9,5 +9,13 @@ class RouteDefinition public function __construct( private Router $router, private Route $route, - ) {} + ) { + } + + public function name(string $value): static + { + $this->router->addNamedRoute($value, $this->route); + + return $this; + } } diff --git a/tests/Unit/RouteDefinitionTest.php b/tests/Unit/RouteDefinitionTest.php index 8ac0e45..f605293 100644 --- a/tests/Unit/RouteDefinitionTest.php +++ b/tests/Unit/RouteDefinitionTest.php @@ -1,5 +1,7 @@ <?php +declare(strict_types=1); + use Lightscale\Router\Enums\HttpMethod; use Lightscale\Router\Route; use Lightscale\Router\RouteDefinition; @@ -8,6 +10,14 @@ use Lightscale\Router\Router; it('initalizes') ->expect(fn () => new RouteDefinition( new Router(), - new Route(HttpMethod::Get, fn() => null), + new Route(HttpMethod::Get, fn () => null), )) ->toBeInstanceOf(RouteDefinition::class); + +it('adds route to named routes', function () { + $router = new Router(); + $route = new Route(HttpMethod::Get, fn () => null); + $definition = new RouteDefinition($router, $route); + expect($definition->name('testing'))->toBe($definition); + expect($router->getNamedRoute('testing'))->toBe($route); +}); |
