Phalcon\Test\Unit\Mvc\Router\GroupTest::testGroups PHP Method

testGroups() public method

public testGroups ( )
    public function testGroups()
    {
        $this->specify("Router Groups don't work properly", function () {
            \Phalcon\Mvc\Router\Route::reset();
            $router = new \Phalcon\Mvc\Router(false);
            $blog = new \Phalcon\Mvc\Router\Group(["module" => "blog", "controller" => "index"]);
            $blog->setPrefix("/blog");
            $blog->add("/save", ["action" => "save"]);
            $blog->add("/edit/{id}", ["action" => "edit"]);
            $blog->add("/about", ["controller" => "about", "action" => "index"]);
            $router->mount($blog);
            $routes = ["/blog/save" => ["module" => "blog", "controller" => "index", "action" => "save"], "/blog/edit/1" => ["module" => "blog", "controller" => "index", "action" => "edit"], "/blog/about" => ["module" => "blog", "controller" => "about", "action" => "index"]];
            foreach ($routes as $route => $paths) {
                $router->handle($route);
                expect($router->wasMatched())->true();
                expect($paths["module"])->equals($router->getModuleName());
                expect($paths["controller"])->equals($router->getControllerName());
                expect($paths["action"])->equals($router->getActionName());
                expect($blog)->equals($router->getMatchedRoute()->getGroup());
            }
        });
    }