Code Duplication    Length = 56-56 lines in 2 locations

tests/legacy/Router/Traits/HasMatcherTraitTest.php 1 location

@@ 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

tests/src/Router/Traits/HasMatcherTraitTest.php 1 location

@@ 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