Illuminate\Routing\AcParametersTest::mockRouter PHP Method

mockRouter() protected method

protected mockRouter ( $app = null )
    protected function mockRouter($app = null)
    {
        $app = $app ?: $this->app;
        $routerFacade = new \Illuminate\Support\Facades\Route();
        $this->invokeMethod($routerFacade, 'createFreshMockInstance', ['router']);
        $router = $routerFacade::getFacadeRoot()->makePartial();
        $router->shouldReceive('substituteBindings')->with(m::type('\\Illuminate\\Routing\\Route'))->andReturnUsing(function ($route) use($router) {
            foreach ($route->parameters() as $key => $value) {
                if (isset($router->binders[$key])) {
                    $route->setParameter($key, $router->performBinding($key, $value, $route));
                }
            }
            $routePartial = m::mock($route);
            $routePartial->shouldReceive('signatureParameters')->andReturn([]);
            $router->substituteImplicitBindings($routePartial);
            return $routePartial;
        });
        $this->setProperty($router, 'events', $app['events']);
        $this->setProperty($router, 'routes', new \Illuminate\Routing\RouteCollection());
        $this->setProperty($router, 'container', $app);
        return $router;
    }