public function build() { $planning = new Planning($this->id, $this->name, $this->group_id, $this->backlog_title, $this->plan_title, $this->backlog_tracker_ids, $this->planning_tracker_id); if ($this->planning_tracker) { $planning->setPlanningTracker($this->planning_tracker); } if ($this->backlog_trackers) { $planning->setBacklogTrackers($this->backlog_trackers); } return $planning; }
/** * Returns all the Planning that use given tracker as backlog tracker * * Given: * Epic -> Product * Epic -> Release * Story -> Sprint * When getPlanningsByBacklogTracker(Epic) -> [Product, Release] * When getPlanningsByBacklogTracker(Story) -> [Sprint] * * @param Tracker $backlog_tracker * * @return Planning */ public function getPlanningsByBacklogTracker(Tracker $backlog_tracker) { $plannings = array(); foreach ($this->dao->searchByBacklogTrackerId($backlog_tracker->getId()) as $planning) { $p = new Planning($planning['id'], $planning['name'], $planning['group_id'], $planning['backlog_title'], $planning['plan_title'], array($backlog_tracker->getId()), $planning['planning_tracker_id']); $p->setBacklogTrackers(array($backlog_tracker)); $p->setPlanningTracker($this->getPlanningTracker($p)); $plannings[] = $p; } return $plannings; }
public function itCreatesNewPlanningWithValidBacklogAndPlanningTrackers() { $backlog_tracker = mock('Tracker'); $planning_tracker = mock('Tracker'); $form_element_factory = mock('Tracker_FormElementFactory'); stub($backlog_tracker)->getId()->returns(78); stub($planning_tracker)->getId()->returns(45); $my_planning = new Planning(null, null, null, null, null, array(78), 45); $my_planning->setBacklogTrackers(array($backlog_tracker))->setPlanningTracker($planning_tracker); stub($this->planning_factory)->getRootPlanning()->returns($my_planning); stub($this->tracker_factory)->getTrackerById(45)->returns($backlog_tracker); stub($this->tracker_factory)->getTrackerById(78)->returns($planning_tracker); $planning = $this->planning_factory->getVirtualTopPlanning($this->user, 56); $this->assertIsA($planning, 'Planning'); $this->assertIsA($planning->getPlanningTracker(), 'Tracker'); $backlog_trackers = $planning->getBacklogTrackers(); $this->assertIsA($backlog_trackers[0], 'Tracker'); }