function it_returns_a_response_for_html_view_of_paginated_resources(MetadataInterface $metadata, RequestConfigurationFactoryInterface $requestConfigurationFactory, RequestConfiguration $configuration, AuthorizationCheckerInterface $authorizationChecker, RepositoryInterface $repository, ResourcesCollectionProviderInterface $resourcesCollectionProvider, ResourceInterface $resource1, ResourceInterface $resource2, ViewHandlerInterface $viewHandler, Request $request, Response $response)
{
$metadata->getApplicationName()->willReturn('sylius');
$metadata->getName()->willReturn('product');
$metadata->getPluralName()->willReturn('products');
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::INDEX)->willReturn('sylius.product.index');
$authorizationChecker->isGranted($configuration, 'sylius.product.index')->willReturn(true);
$configuration->isHtmlRequest()->willReturn(true);
$configuration->getTemplate(ResourceActions::INDEX . '.html')->willReturn('SyliusShopBundle:Product:index.html.twig');
$resourcesCollectionProvider->get($configuration, $repository)->willReturn([$resource1, $resource2]);
$expectedView = View::create()->setData(['configuration' => $configuration, 'metadata' => $metadata, 'resources' => [$resource1, $resource2], 'products' => [$resource1, $resource2]])->setTemplateVar('products')->setTemplate('SyliusShopBundle:Product:index.html.twig');
$viewHandler->handle($configuration, Argument::that($this->getViewComparingCallback($expectedView)))->willReturn($response);
$this->indexAction($request)->shouldReturn($response);
}