spec\Sylius\Bundle\ResourceBundle\Routing\ResourceLoaderSpec::it_configures_grid_for_index_action_if_specified PHP Метод

it_configures_grid_for_index_action_if_specified() публичный Метод

public it_configures_grid_for_index_action_if_specified ( Sylius\Component\Resource\Metadata\RegistryInterface $resourceRegistry, Sylius\Component\Resource\Metadata\MetadataInterface $metadata, Sylius\Bundle\ResourceBundle\Routing\RouteFactoryInterface $routeFactory, RouteCollection $routeCollection, Symfony\Component\Routing\Route $indexRoute, Symfony\Component\Routing\Route $createRoute )
$resourceRegistry Sylius\Component\Resource\Metadata\RegistryInterface
$metadata Sylius\Component\Resource\Metadata\MetadataInterface
$routeFactory Sylius\Bundle\ResourceBundle\Routing\RouteFactoryInterface
$routeCollection Symfony\Component\Routing\RouteCollection
$indexRoute Symfony\Component\Routing\Route
$createRoute Symfony\Component\Routing\Route
    function it_configures_grid_for_index_action_if_specified(RegistryInterface $resourceRegistry, MetadataInterface $metadata, RouteFactoryInterface $routeFactory, RouteCollection $routeCollection, Route $indexRoute, Route $createRoute)
    {
        $resourceRegistry->get('sylius.product')->willReturn($metadata);
        $metadata->getApplicationName()->willReturn('sylius');
        $metadata->getName()->willReturn('product');
        $metadata->getPluralName()->willReturn('products');
        $metadata->getServiceId('controller')->willReturn('sylius.controller.product');
        $routeFactory->createRouteCollection()->willReturn($routeCollection);
        $configuration = <<<EOT
alias: sylius.product
only: ['create', 'index']
grid: sylius_admin_product
EOT;
        $indexDefaults = ['_controller' => 'sylius.controller.product:indexAction', '_sylius' => ['grid' => 'sylius_admin_product', 'permission' => false]];
        $routeFactory->createRoute('/products/', $indexDefaults, [], [], '', [], ['GET'])->willReturn($indexRoute);
        $routeCollection->add('sylius_product_index', $indexRoute)->shouldBeCalled();
        $createDefaults = ['_controller' => 'sylius.controller.product:createAction', '_sylius' => ['permission' => false]];
        $routeFactory->createRoute('/products/new', $createDefaults, [], [], '', [], ['GET', 'POST'])->willReturn($createRoute);
        $routeCollection->add('sylius_product_create', $createRoute)->shouldBeCalled();
        $this->load($configuration, 'sylius.resource')->shouldReturn($routeCollection);
    }