public function testGetReportsByPartialName() { $this->assertEquals(2, SavedReport::getCount()); $this->assertEquals(2, count(ReportSearch::getReportsByPartialName('a', 5))); $this->assertEquals(0, count(ReportSearch::getReportsByPartialName('a', 5, 'AccountsModule'))); $this->assertEquals(1, count(ReportSearch::getReportsByPartialName('a', 5, 'ReportsTestModule'))); $this->assertEquals(1, count(ReportSearch::getReportsByPartialName('a', 5, 'ReportsTestModule', Report::TYPE_SUMMATION))); $this->assertEquals(0, count(ReportSearch::getReportsByPartialName('a', 5, 'ContactsModule', Report::TYPE_SUMMATION))); }
/** * @param string $partialName * @param int $pageSize * @param null|string $moduleClassName * @param null|string $type * @return array Jui AutoComplete ready array containing id, value, and label elements. */ public static function getByPartialName($partialName, $pageSize, $moduleClassName = null, $type = null) { assert('is_string($partialName)'); assert('is_int($pageSize)'); $autoCompleteResults = array(); $reports = ReportSearch::getReportsByPartialName($partialName, $pageSize, $moduleClassName, $type); foreach ($reports as $report) { $autoCompleteResults[] = array('id' => $report->id, 'value' => strval($report), 'label' => strval($report)); } return $autoCompleteResults; }