| @@ 17-72 (lines=56) @@ | ||
| 14 | * Class HasMatcherTraitTest |
|
| 15 | * @package Nip\Router\Tests\Legacy\Router\Traits |
|
| 16 | */ |
|
| 17 | class HasMatcherTraitTest extends AbstractTest |
|
| 18 | { |
|
| 19 | ||
| 20 | public function testNotFound() |
|
| 21 | { |
|
| 22 | $router = new Router(); |
|
| 23 | self::expectException(ResourceNotFoundException::class); |
|
| 24 | ||
| 25 | $request = Request::create('/404'); |
|
| 26 | $router->route($request); |
|
| 27 | } |
|
| 28 | ||
| 29 | public function testRouteLiteral() |
|
| 30 | { |
|
| 31 | $router = new Router(); |
|
| 32 | $collection = $router->getRoutes(); |
|
| 33 | ||
| 34 | RouteFactory::generateLiteralRoute($collection, "admin.index", Route::class, "/admin", "/index"); |
|
| 35 | RouteFactory::generateLiteralRoute($collection, "api.index", Route::class, "/api", "/index"); |
|
| 36 | ||
| 37 | $request = Request::create('/api/index'); |
|
| 38 | $params = $router->route($request); |
|
| 39 | self::assertEquals(['_route' => 'api.index'], $params); |
|
| 40 | ||
| 41 | $currentRoute = $router->getCurrent(); |
|
| 42 | self::assertInstanceOf(Route::class, $currentRoute); |
|
| 43 | self::assertEquals('api.index', $currentRoute->getName()); |
|
| 44 | ||
| 45 | $request = Request::create('/admin/index'); |
|
| 46 | $router->route($request); |
|
| 47 | self::assertEquals('admin.index', $router->getCurrent()->getName()); |
|
| 48 | } |
|
| 49 | ||
| 50 | public function testRouteDynamic() |
|
| 51 | { |
|
| 52 | $router = new Router(); |
|
| 53 | $collection = $router->getRoutes(); |
|
| 54 | ||
| 55 | RouteFactory::generateStandardRoute($collection, "admin.standard", StandardRoute::class, "/admin", |
|
| 56 | '/:controller/:action', ['module' => 'admin']); |
|
| 57 | RouteFactory::generateStandardRoute($collection, "api.standard", StandardRoute::class, "/api", |
|
| 58 | '/:controller/:action', ['module' => 'api']); |
|
| 59 | ||
| 60 | $request = Request::create('/api/pages/delete'); |
|
| 61 | self::assertEquals( |
|
| 62 | ['module' => 'api', 'controller' => 'pages', 'action' => 'delete','_route' => 'api.standard'], |
|
| 63 | $router->route($request) |
|
| 64 | ); |
|
| 65 | ||
| 66 | $request = Request::create('/admin/pages/delete'); |
|
| 67 | self::assertEquals( |
|
| 68 | ['module' => 'admin', 'controller' => 'pages', 'action' => 'delete', '_route' => 'admin.standard'], |
|
| 69 | $router->route($request) |
|
| 70 | ); |
|
| 71 | } |
|
| 72 | } |
|
| 73 | ||
| @@ 17-72 (lines=56) @@ | ||
| 14 | * Class HasMatcherTraitTest |
|
| 15 | * @package Nip\Router\Tests\Router\Traits |
|
| 16 | */ |
|
| 17 | class HasMatcherTraitTest extends AbstractTest |
|
| 18 | { |
|
| 19 | ||
| 20 | public function testNotFound() |
|
| 21 | { |
|
| 22 | $router = new Router(); |
|
| 23 | self::expectException(ResourceNotFoundException::class); |
|
| 24 | ||
| 25 | $request = Request::create('/404'); |
|
| 26 | $router->matchRequest($request); |
|
| 27 | } |
|
| 28 | ||
| 29 | public function testRouteLiteral() |
|
| 30 | { |
|
| 31 | $router = new Router(); |
|
| 32 | $collection = $router->getRoutes(); |
|
| 33 | ||
| 34 | RouteFactory::generateLiteralRoute($collection, "admin.index", Route::class, "/admin", "/index"); |
|
| 35 | RouteFactory::generateLiteralRoute($collection, "api.index", Route::class, "/api", "/index"); |
|
| 36 | ||
| 37 | $request = Request::create('/api/index'); |
|
| 38 | $params = $router->matchRequest($request); |
|
| 39 | self::assertEquals(['_route' => 'api.index'], $params); |
|
| 40 | ||
| 41 | $currentRoute = $router->getCurrent(); |
|
| 42 | self::assertInstanceOf(Route::class, $currentRoute); |
|
| 43 | self::assertEquals('api.index', $currentRoute->getName()); |
|
| 44 | ||
| 45 | $request = Request::create('/admin/index'); |
|
| 46 | $router->matchRequest($request); |
|
| 47 | self::assertEquals('admin.index', $router->getCurrent()->getName()); |
|
| 48 | } |
|
| 49 | ||
| 50 | public function testRouteDynamic() |
|
| 51 | { |
|
| 52 | $router = new Router(); |
|
| 53 | $collection = $router->getRoutes(); |
|
| 54 | ||
| 55 | RouteFactory::generateStandardRoute($collection, "admin.standard", StandardRoute::class, "/admin", |
|
| 56 | '/:controller/:action', ['module' => 'admin']); |
|
| 57 | RouteFactory::generateStandardRoute($collection, "api.standard", StandardRoute::class, "/api", |
|
| 58 | '/:controller/:action', ['module' => 'api']); |
|
| 59 | ||
| 60 | $request = Request::create('/api/pages/delete'); |
|
| 61 | self::assertEquals( |
|
| 62 | ['module' => 'api', 'controller' => 'pages', 'action' => 'delete', '_route' => 'api.standard'], |
|
| 63 | $router->matchRequest($request) |
|
| 64 | ); |
|
| 65 | ||
| 66 | $request = Request::create('/admin/pages/delete'); |
|
| 67 | self::assertEquals( |
|
| 68 | ['module' => 'admin', 'controller' => 'pages', 'action' => 'delete', '_route' => 'admin.standard'], |
|
| 69 | $router->matchRequest($request) |
|
| 70 | ); |
|
| 71 | } |
|
| 72 | } |
|
| 73 | ||