123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- namespace Goodquestiondev\Tests;
- require_once __DIR__ . '/../vendor/autoload.php';
- use PHPUnit\Framework\TestCase;
- use Goodquestiondev\Route;
- class RouteTest extends TestCase
- {
- public function testRoute(): void
- {
- Route::resource('posts');
- Route::resource('users.posts');
- Route::resource('categories.posts');
-
- $route = Route::getInstance();
- $uriInfo = $route->getUriInfo('/users/bob/posts/999');
- $this->assertEquals('users/{user}/posts/{post}', $uriInfo['uri']);
- $this->assertEquals(['user' => 'bob', 'post' => '999'], $uriInfo['params']);
- $uriInfo = $route->getUriInfo('users/create');
- $this->assertEquals('users/create', $uriInfo['uri']);
- $this->assertEquals(['user' => ''], $uriInfo['params']);
- $uriInfo = $route->getUriInfo('posts/bob/edit');
- $this->assertEquals('posts/{post}/edit', $uriInfo['uri']);
- $this->assertEquals(['post' => 'bob'], $uriInfo['params']);
- $route = Route::getInstance();
-
- $this->assertEquals(3, count($route->resources));
- }
- }
|