Example #1
0
 /**
  * @param DatatableRequest $datatableRequest
  * @return ComplexSearchService
  */
 protected function getSearchServiceMock(DatatableRequest $datatableRequest)
 {
     $filters = $datatableRequest->getFilters();
     $queryProphecy = $this->prophesize('\\oat\\tao\\test\\datatable\\QueryMock');
     $queryProphecy->addCriterion(Argument::type('string'), Argument::type('string'), Argument::type('string'))->shouldBeCalledTimes(count($filters));
     $queryMock = $queryProphecy->reveal();
     $queryBuilderProphecy = $this->prophesize('\\oat\\search\\QueryBuilder');
     $queryBuilderProphecy->setCriteria($queryMock)->shouldBeCalledTimes(count($filters));
     $queryBuilderProphecy->sort(Argument::any())->shouldBeCalledTimes(1);
     $queryBuilderProphecy->setLimit(Argument::type('integer'))->shouldBeCalledTimes(1);
     $queryBuilderProphecy->setOffset(Argument::type('integer'))->shouldBeCalledTimes(1);
     $queryBuilderMock = $queryBuilderProphecy->reveal();
     $resultProphecy = $this->prophesize('\\oat\\generis\\model\\kernel\\persistence\\smoothsql\\search\\TaoResultSet');
     $resultProphecy->count()->willReturn(1)->shouldBeCalledTimes(1);
     $resultProphecy->total()->willReturn(2)->shouldBeCalledTimes(1);
     $resultProphecy->getArrayCopy()->willReturn([])->shouldBeCalledTimes(1);
     $result = $resultProphecy->reveal();
     $gatewayProphecy = $this->prophesize('\\oat\\search\\TaoSearchGateWay');
     $gatewayProphecy->search($queryBuilderMock)->willReturn($result)->shouldBeCalledTimes(1);
     $gatewayMock = $gatewayProphecy->reveal();
     $service = $this->prophesize('\\oat\\generis\\model\\kernel\\persistence\\smoothsql\\search\\ComplexSearchService');
     $service->query()->willReturn($queryBuilderMock)->shouldBeCalledTimes(1);
     $service->getGateway()->willReturn($gatewayMock)->shouldBeCalledTimes(1);
     $service->searchType($queryBuilderMock, Argument::type('string'), true)->shouldBeCalledTimes(1)->willReturn($queryMock);
     return $service->reveal();
 }
Example #2
0
 /**
  * @dataProvider environmentsProvider
  * @preserveGlobalState disabled
  *
  * @param Environment $env
  * @param array $result expected results
  */
 public function testGetFilters($env, $result)
 {
     $request = Request::createFromEnvironment($env);
     $datatableRequest = new DatatableRequest($request);
     $this->assertEquals($result['filters'], $datatableRequest->getFilters());
 }
 /**
  * @return string
  */
 protected function getSortOrder()
 {
     return $this->request->getSortOrder();
 }