コード例 #1
0
 public function createFromRoute($route, MetadataInterface $metadata, RouterInterface $router)
 {
     $route = $router->getRouteCollection()->get($route);
     if ($route === null) {
         return null;
     }
     $parameters = $route->getDefault('_sylius');
     $request = new Request();
     $parameters = array_merge($this->defaultParameters, $parameters);
     $parameters = $this->parametersParser->parseRequestValues($parameters, $request);
     return new $this->configurationClass($metadata, $request, new Parameters($parameters));
 }
コード例 #2
0
 function it_creates_configuration_without_default_settings(MetadataInterface $metadata, Request $request, ParametersParser $parametersParser, ParameterBag $headersBag, ParameterBag $attributesBag)
 {
     $request->headers = $headersBag;
     $request->attributes = $attributesBag;
     $attributesBag->get('_sylius', [])->willReturn(['template' => ':Product:list.html.twig']);
     $parametersParser->parseRequestValues(['template' => ':Product:list.html.twig'], $request)->willReturn(['template' => ':Product:list.html.twig']);
     $this->create($metadata, $request)->isSortable()->shouldReturn(false);
 }
コード例 #3
0
 function it_creates_configuration_from_resource_metadata_and_request(MetadataInterface $metadata, Request $request, ParametersParser $parametersParser, ParameterBag $headersBag, ParameterBag $attributesBag)
 {
     $request->headers = $headersBag;
     $request->attributes = $attributesBag;
     $headersBag->has('Accept')->willReturn(false);
     $headersBag->has('Accept')->willReturn(false);
     $configuration = ['template' => ':Product:show.html.twig'];
     $attributesBag->get('_sylius', [])->shouldBeCalled()->willReturn($configuration);
     $parametersParser->parseRequestValues($configuration, $request)->willReturn($configuration);
     $this->create($metadata, $request)->shouldHaveType(RequestConfiguration::class);
 }
コード例 #4
0
 /**
  * {@inheritdoc}
  */
 public function create(MetadataInterface $metadata, Request $request)
 {
     $parameters = array_replace_recursive($this->defaultParameters, $this->parseApiParameters($request));
     $parameters = $this->parametersParser->parseRequestValues($parameters, $request);
     return new $this->configurationClass($metadata, $request, new Parameters($parameters));
 }