summaryrefslogtreecommitdiff
path: root/tests/Unit
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Unit')
-rw-r--r--tests/Unit/GroupDefinitionTest.php12
-rw-r--r--tests/Unit/RouteDefinitionTest.php11
2 files changed, 23 insertions, 0 deletions
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);
+});