/** * @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())); }
/** * @dataProvider filterProvider */ public function testApply(array $filterParameters, array $query, $expected) { $request = Request::create('/api/dummies', 'GET', $query); $requestStack = new RequestStack(); $requestStack->push($request); $queryBuilder = $this->repository->createQueryBuilder('o'); $parameter = array_key_exists('parameter', $filterParameters) ? $filterParameters['parameter'] : 'order'; $filter = new OrderFilter($this->managerRegistry, $requestStack, $parameter, $filterParameters['properties']); $uniqid = $this->getFunctionMock('Dunglas\\ApiBundle\\Doctrine\\Orm\\Util', 'uniqid'); $uniqid->expects($this->any())->willReturn('123456abcdefg'); $filter->apply($this->resource, $queryBuilder); $actual = strtolower($queryBuilder->getQuery()->getDQL()); $expected = strtolower($expected); $this->assertEquals($expected, $actual, sprintf('Expected `%s` for this `%s %s` request', $expected, 'GET', $request->getUri())); }