/** * Method to retrieve all documents by filters * * @param int $start * @param int $limit * @param array $filterArguments * @param string $sortingField * @param string $sortingType * * @throws \Searchperience\Common\Exception\InvalidArgumentException * @throws \Searchperience\Common\Http\Exception\DocumentNotFoundException * @return \Searchperience\Api\Client\Domain\Document\DocumentCollection */ public function getAllByFilters($start = 0, $limit = 10, array $filterArguments = array(), $sortingField = '', $sortingType = AbstractRestBackend::SORTING_DESC) { if (!is_integer($start)) { throw new InvalidArgumentException('Method "' . __METHOD__ . '" accepts only integer values as $start. Input was: ' . serialize($start)); } if (!is_integer($limit)) { throw new InvalidArgumentException('Method "' . __METHOD__ . '" accepts only integer values as $limit. Input was: ' . serialize($limit)); } if (!is_array($filterArguments)) { throw new InvalidArgumentException('Method "' . __METHOD__ . '" accepts only integer values as $filterArguments. Input was: ' . serialize($filterArguments)); } if (!is_string($sortingField)) { throw new InvalidArgumentException('Method "' . __METHOD__ . '" accepts only string values as $sortingField. Input was: ' . serialize($sortingField)); } if (!is_string($sortingType)) { throw new InvalidArgumentException('Method "' . __METHOD__ . '" accepts only string values as $sortingType. Input was: ' . serialize($sortingType)); } $filterCollection = $this->filterCollectionFactory->createFromFilterArguments($filterArguments); $documents = $this->getAllByFilterCollection($start, $limit, $filterCollection, $sortingField, $sortingType); return $documents; }
/** * Test filter invalid values assert * @params $data * @test * @dataProvider filtersInvalidValuesProvider * @expectedException \InvalidArgumentException */ public function testInvalidFilterValues($data) { $this->instance->createFromFilterArguments($data); }