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

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

public it_excludes_specific_routes_if_configured ( 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, Symfony\Component\Routing\Route $updateRoute )
$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
$updateRoute Symfony\Component\Routing\Route
    function it_excludes_specific_routes_if_configured(RegistryInterface $resourceRegistry, MetadataInterface $metadata, RouteFactoryInterface $routeFactory, RouteCollection $routeCollection, Route $indexRoute, Route $createRoute, Route $updateRoute)
    {
        $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
except: ['show', 'delete']
EOT;
        $indexDefaults = ['_controller' => 'sylius.controller.product:indexAction', '_sylius' => ['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();
        $updateDefaults = ['_controller' => 'sylius.controller.product:updateAction', '_sylius' => ['permission' => false]];
        $routeFactory->createRoute('/products/{id}/edit', $updateDefaults, [], [], '', [], ['GET', 'PUT', 'PATCH'])->willReturn($updateRoute);
        $routeCollection->add('sylius_product_update', $updateRoute)->shouldBeCalled();
        $this->load($configuration, 'sylius.resource')->shouldReturn($routeCollection);
    }