public requestReport ( $idSite, $period, $date, $reportUniqueId, $metric, $segment ) |
public function requestReport($idSite, $period, $date, $reportUniqueId, $metric, $segment)
{
$report = $this->getReportByUniqueId($idSite, $reportUniqueId);
$params = array('method' => $report['module'] . '.' . $report['action'], 'format' => 'original', 'idSite' => $idSite, 'period' => $period, 'date' => $date, 'filter_limit' => 1000, 'showColumns' => $metric);
if (!empty($segment)) {
$params['segment'] = $segment;
}
if (!empty($report['parameters']) && is_array($report['parameters'])) {
$params = array_merge($params, $report['parameters']);
}
$request = new ApiRequest($params);
$table = $request->process();
return $table;
}
public function test_requestReport_shouldReturnTheDataTableOfTheReport_AndContainReportTotals() { $idSite = self::$fixture->idSite; $date = self::$fixture->date1; $metric = 'nb_visits'; $table = $this->model->requestReport($idSite, 'day', $date, 'Actions_getPageUrls', $metric, false); $this->assertEquals(5, $table->getRowsCount()); $totals = $table->getMetadata('totals'); $this->assertEquals(50, $totals[$metric]); }