Removes the router test for now

main
Yasen Pramatarov 2025-02-18 16:42:17 +02:00
parent 6fc3629014
commit c77b07b8a2
1 changed files with 0 additions and 86 deletions

View File

@ -1,86 +0,0 @@
<?php
require_once dirname(__DIR__, 4) . '/app/classes/router.php';
use PHPUnit\Framework\TestCase;
class RouterTest extends TestCase
{
private $router;
protected function setUp(): void
{
parent::setUp();
$this->router = new Router('', true); // Empty controller path and dry-run mode
}
public function testAddRoute()
{
$this->router->add('/test', 'TestController@index');
$this->assertTrue(true); // If we get here, no exception was thrown
}
public function testDispatchRoute()
{
$this->router->add('/users/(\d+)', 'UserController@show');
$match = $this->router->dispatch('/users/123');
$this->assertIsArray($match);
$this->assertEquals('UserController@show', $match['callback']);
$this->assertEquals(['123'], $match['params']);
}
public function testDispatchRouteWithMultipleParameters()
{
$this->router->add('/users/(\d+)/posts/(\d+)', 'PostController@show');
$match = $this->router->dispatch('/users/123/posts/456');
$this->assertIsArray($match);
$this->assertEquals('PostController@show', $match['callback']);
$this->assertEquals(['123', '456'], $match['params']);
}
public function testNoMatchingRoute()
{
$this->router->add('/test', 'TestController@index');
$match = $this->router->dispatch('/nonexistent');
$this->assertNull($match);
}
public function testDispatchWithQueryString()
{
$this->router->add('/test', 'TestController@index');
$match = $this->router->dispatch('/test?param=value');
$this->assertIsArray($match);
$this->assertEquals('TestController@index', $match['callback']);
$this->assertEquals([], $match['params']);
}
public function testOptionalParameters()
{
$this->router->add('/users(?:/(\d+))?', 'UserController@index');
// Test with parameter
$match1 = $this->router->dispatch('/users/123');
$this->assertIsArray($match1);
$this->assertEquals('UserController@index', $match1['callback']);
$this->assertEquals(['123'], $match1['params']);
// Test without parameter
$match2 = $this->router->dispatch('/users');
$this->assertIsArray($match2);
$this->assertEquals('UserController@index', $match2['callback']);
$this->assertEquals([], $match2['params']);
}
public function testInvokeWithMissingController()
{
$router = new Router(''); // Empty controller path, not in dry-run mode
ob_start();
$router->dispatch('/test');
$output = ob_get_clean();
$this->assertEquals('404 page not found', $output);
}
}