/** * Simple action to list some stuff */ public function timelineAction() { $zoom = 15; // amount of seconds per pixel $groupedLogs = $this->logRepository->findGroupedByTask(); $starttime = $this->hourFloor($this->logRepository->getMinDate()); $endtime = $this->hourCeil($this->logRepository->getMaxDate()); $this->view->assign('groupedLogs', $groupedLogs); $this->view->assign('starttime', $starttime); $this->view->assign('endtime', $endtime); $this->view->assign('zoom', $zoom); $this->view->assign('now', ($GLOBALS['EXEC_TIME'] - $starttime) / $zoom); $this->view->assign('timelinePanelWidth', ($endtime - $starttime) / $zoom); }
/** * @test */ public function findGroupedByTaskReturnsMultidimensionArray() { $actualArray = array(); $expectedArray = array(131 => array('task' => 131, 'logs' => array(1)), 132 => array('task' => 132, 'logs' => array(2)), 133 => array('task' => 133, 'logs' => array(3)), 134 => array('task' => 134, 'logs' => array(4, 5))); $logsGroupedByTask = $this->logRepository->findGroupedByTask(); foreach ($logsGroupedByTask as $taskUid => $taskObject) { $actualArray[$taskUid]['task'] = $taskUid; /** @var \AOE\SchedulerTimeline\Domain\Model\Task $task */ foreach ($taskObject as $task) { /** @var \AOE\SchedulerTimeline\Domain\Model\Log $log */ foreach ($task as $log) { $actualArray[$taskUid]['logs'][] = $log->getUid(); } } } $this->assertSame($expectedArray, $actualArray); }