/**
  * @dataProvider filterProvider
  */
 public function testApply(array $filterParameters, array $query, $expected)
 {
     $request = Request::create('/api/dummies', 'GET', $query);
     $queryBuilder = $this->getQueryBuilder();
     $parameter = array_key_exists('parameter', $filterParameters) ? $filterParameters['parameter'] : 'order';
     $filter = new OrderFilter($this->managerRegistry, $parameter, $filterParameters['properties']);
     $filter->apply($this->resource, $queryBuilder, $request);
     $actual = strtolower($queryBuilder->getQuery()->getDQL());
     $expected = strtolower($expected);
     $this->assertEquals($expected, $actual, sprintf('Expected `%s` for this `%s %s` request', $expected, 'GET', $request->getUri()));
 }
Пример #2
0
 public function testGetDescriptionDefaultFields()
 {
     $filter = new OrderFilter($this->managerRegistry, new RequestStack(), 'order');
     $this->assertEquals(['order[id]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'order[name]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'order[alias]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'order[description]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'order[dummy]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'order[dummyDate]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'order[jsonData]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'order[nameConverted]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false]], $filter->getDescription($this->resource));
 }
Пример #3
0
 /**
  * @param ManagerRegistry $managerRegistry
  * @param string          $orderParameter  Keyword used to retrieve the value.
  * @param array|null      $properties      List of property names on which the filter will be enabled.
  */
 public function __construct(ManagerRegistry $managerRegistry, $orderParameter, array $properties = null)
 {
     parent::__construct($managerRegistry, $properties);
     $this->properties = $properties;
     $this->orderParameter = $orderParameter;
 }