function it_returns_a_response_for_non_html_view_of_single_resource(MetadataInterface $metadata, RequestConfigurationFactoryInterface $requestConfigurationFactory, RequestConfiguration $configuration, AuthorizationCheckerInterface $authorizationChecker, RepositoryInterface $repository, SingleResourceProviderInterface $singleResourceProvider, ResourceInterface $resource, ViewHandlerInterface $viewHandler, EventDispatcherInterface $eventDispatcher, Request $request, Response $response)
{
$metadata->getApplicationName()->willReturn('sylius');
$metadata->getName()->willReturn('product');
$requestConfigurationFactory->create($metadata, $request)->willReturn($configuration);
$configuration->hasPermission()->willReturn(true);
$configuration->getPermission(ResourceActions::SHOW)->willReturn('sylius.product.show');
$authorizationChecker->isGranted($configuration, 'sylius.product.show')->willReturn(true);
$singleResourceProvider->get($configuration, $repository)->willReturn($resource);
$configuration->isHtmlRequest()->willReturn(false);
$eventDispatcher->dispatch(ResourceActions::SHOW, $configuration, $resource)->shouldBeCalled();
$expectedView = View::create($resource);
$viewHandler->handle($configuration, Argument::that($this->getViewComparingCallback($expectedView)))->willReturn($response);
$this->showAction($request)->shouldReturn($response);
}