/** * @covers QuestDetailsSearchService::makeQuery * @dataProvider makeCriteriaQuery_Provider */ public function testCorrectnessOfQueryBuilding($criteria, $expectedQuery) { $questDetailsSearch = new QuestDetailsSearchService(); if (empty($criteria['fingerprint'])) { $criteria['fingerprint'] = null; } if (empty($criteria['questId'])) { $criteria['questId'] = null; } if (empty($criteria['category'])) { $criteria['category'] = null; } $this->assertEquals($expectedQuery, $questDetailsSearch->newQuery()->withFingerprint($criteria['fingerprint'])->withQuestId($criteria['questId'])->withCategory($criteria['category'])->makeQuery()); }
protected function appendMetadata($collection) { if (!empty($this->wg->EnablePOIExt)) { $helper = new QuestDetailsSolrHelper(); $questDetailsSearch = new QuestDetailsSearchService(); $metadata = $questDetailsSearch->newQuery()->withIds(array_keys($collection), $this->wg->CityId)->search(); $metadata = $helper->processMetadata($metadata); foreach ($collection as &$item) { $key = $this->wg->CityId . "_" . $item["id"]; if (isset($metadata[$key])) { $item["metadata"] = $metadata[$key]; } } } return $collection; }