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 Solarium_Query_Select(array('documentclass' => 'Solarium_Document_ReadWrite')); $query->getFacetSet(); $resultStub = $this->getMock('Solarium_Result_Select', 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 Solarium_Client_ResponseParser_Select(); $result = $parser->parse($resultStub); $this->assertEquals(1, $result['status']); $this->assertEquals(13, $result['queryTime']); $this->assertEquals(null, $result['numfound']); }
public function testConfigMode() { $config = array('query' => 'text:mykeyword', 'sort' => array('score' => 'asc'), 'fields' => array('id', 'title', 'category'), 'rows' => 100, 'start' => 200, 'filterquery' => array(array('key' => 'pub', 'tag' => array('pub'), 'query' => 'published:true'), 'online' => array('tag' => 'onl', 'query' => 'online:true')), 'component' => array('facetset' => array('facet' => array(array('type' => 'field', 'key' => 'categories', 'field' => 'category'), 'category13' => array('type' => 'query', 'query' => 'category:13')))), 'resultclass' => 'MyResultClass', 'documentclass' => 'MyDocumentClass'); $query = new Solarium_Query_Select($config); $this->assertEquals($config['query'], $query->getQuery()); $this->assertEquals($config['sort'], $query->getSorts()); $this->assertEquals($config['fields'], $query->getFields()); $this->assertEquals($config['rows'], $query->getRows()); $this->assertEquals($config['start'], $query->getStart()); $this->assertEquals($config['documentclass'], $query->getDocumentClass()); $this->assertEquals($config['resultclass'], $query->getResultClass()); $this->assertEquals('published:true', $query->getFilterQuery('pub')->getQuery()); $this->assertEquals('online:true', $query->getFilterQuery('online')->getQuery()); $facets = $query->getFacetSet()->getFacets(); $this->assertEquals('category', $facets['categories']->getField()); $this->assertEquals('category:13', $facets['category13']->getQuery()); $components = $query->getComponents(); $this->assertEquals(1, count($components)); $this->assertThat(array_pop($components), $this->isInstanceOf('Solarium_Query_Select_Component_FacetSet')); }