summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Light <sam@lightscale.co.uk>2026-06-10 19:00:32 +0100
committerSam Light <sam@lightscale.co.uk>2026-06-10 19:00:32 +0100
commit57e101668e62aab7d332c1c2f403eee9511de626 (patch)
tree46eda6f39a910e78362e69b35c1b81e7ca64129f
parent25d0c98dd7b69695d0b2a8aa24d991359b371455 (diff)
RouteDefinition can add name
-rw-r--r--src/RouteDefinition.php10
-rw-r--r--tests/Unit/RouteDefinitionTest.php12
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);
+});