public function build() { $planning = new Planning($this->id, $this->name, $this->group_id, $this->backlog_title, $this->plan_title, $this->backlog_tracker_id, $this->planning_tracker_id); if ($this->planning_tracker) { $planning->setPlanningTracker($this->planning_tracker); } 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 itReturnsAPlanning() { $planning = new Planning(1, 'Release Planning', 102, 'Release Backlog', 'Sprint Plan', array()); $planning->setPlanningTracker($this->planning_tracker); $planning->setBacklogTrackers(array($this->backlog_tracker)); $this->assertEqual($planning, $this->factory->getPlanningByPlanningTracker($this->tracker)); }
/** * Returns the planning that uses the given tracker as milestone's source * * Example: * - Given I pass Release tracker as parameter * - Then I should get the Release planning (for instance Epic -> Release) * * @param Tracker $planning_tracker * * @return Planning */ public function getPlanningByPlanningTracker(Tracker $planning_tracker) { $planning = $this->dao->searchByPlanningTrackerId($planning_tracker->getId())->getRow(); if ($planning) { $p = new Planning($planning['id'], $planning['name'], $planning['group_id'], $planning['backlog_title'], $planning['plan_title'], null, $planning['planning_tracker_id']); $p->setPlanningTracker($this->getPlanningTracker($p)); $p->setBacklogTracker($this->getBacklogTracker($p)); return $p; } }
public function itReturnsAPlanning() { $tracker = aMockTracker()->withId(99)->build(); $dar = TestHelper::arrayToDar(array('id' => 1, 'name' => 'Release Planning', 'group_id' => 102, 'planning_tracker_id' => 103, 'backlog_title' => 'Release Backlog', 'plan_title' => 'Sprint Plan', 'backlog_tracker_id' => 104)); $dao = stub('PlanningDao')->searchByPlanningTrackerId()->returns($dar); $planning_tracker = mock('Tracker'); $backlog_tracker = mock('Tracker'); $tracker_factory = mock('TrackerFactory'); stub($tracker_factory)->getTrackerById(103)->returns($planning_tracker); stub($tracker_factory)->getTrackerById('*')->returns($backlog_tracker); $factory = aPlanningFactory()->withDao($dao)->withTrackerFactory($tracker_factory)->build(); $planning = new Planning(1, 'Release Planning', 102, 'Release Backlog', 'Sprint Plan', 104, 103); $planning->setPlanningTracker($planning_tracker); $planning->setBacklogTracker($backlog_tracker); $this->assertEqual($planning, $factory->getPlanningByPlanningTracker($tracker)); }