public function testParseWithoutNumFound() { $data = array('response' => array('docs' => array(array('fieldA' => 1, 'fieldB' => 'Test'), array('fieldA' => 2, 'fieldB' => 'Test2'))), 'responseHeader' => array('status' => 1, 'QTime' => 13)); $query = new Query(array('documentclass' => 'Solarium\\QueryType\\Update\\Query\\Document\\Document')); $query->getFacetSet(); $resultStub = $this->getMock('Solarium\\QueryType\\Select\\Result\\Result', array(), array(), '', false); $resultStub->expects($this->once())->method('getData')->will($this->returnValue($data)); $resultStub->expects($this->once())->method('getQuery')->will($this->returnValue($query)); $parser = new ResponseParser(); $result = $parser->parse($resultStub); $this->assertEquals(1, $result['status']); $this->assertEquals(13, $result['queryTime']); $this->assertEquals(null, $result['numfound']); }
/** * Get result data for the response * * @param Result $result * @return array */ public function parse($result) { $data = $result->getData(); $query = $result->getQuery(); $parseResult = parent::parse($result); if (isset($data['interestingTerms']) && 'none' != $query->getInterestingTerms()) { $terms = $data['interestingTerms']; if ('details' == $query->getInterestingTerms()) { if ($query->getResponseWriter() == $query::WT_JSON) { $terms = $this->convertToKeyValueArray($terms); } } $parseResult['interestingTerms'] = $terms; } if (isset($data['match']['docs'][0]) && true == $query->getMatchInclude()) { $matchData = $data['match']['docs'][0]; $documentClass = $query->getOption('documentclass'); $fields = (array) $matchData; $parseResult['match'] = new $documentClass($fields); } return $parseResult; }