private function getHierarchyAsTreeNode($hierarchy) { $node = new TreeNode(); if (isset($hierarchy['children'])) { $node->setData(array('name' => $hierarchy['name'], 'id' => $hierarchy['id'], 'current_class' => '')); $node->setId($hierarchy['id']); $hierarchy = $hierarchy['children']; } else { $node->setId('root'); } foreach ($hierarchy as $item) { $node->addChild($this->getHierarchyAsTreeNode($item)); } return $node; }
protected function newTreeNode($id, $tracker_id) { $node = new TreeNode(); $node->setData(array('id' => $id, 'tracker_id' => $tracker_id)); $artifact = mock('Tracker_Artifact'); stub($artifact)->getId()->returns($id); stub($artifact)->getTrackerId()->returns($tracker_id); $node->setObject($artifact); return $node; }
protected function setArtifactLinks(TreeNode $node, $artifactLinks) { if (is_array($artifactLinks)) { $artifactLinks = implode(', ', $artifactLinks); } $nodeData = $node->getData(); $nodeData['artifactlinks'] = $artifactLinks; $node->setData($nodeData); return $node; }
public function setUp() { parent::setUp(); $report = new MockTracker_Report(); $release_tracker_id = 743; $release_tracker = aTracker()->withId($release_tracker_id)->build(); $art_link_release_field_id = 131; $art_link_release_field = mock('Tracker_CrossSearch_ArtifactReportField'); stub($art_link_release_field)->getTracker()->returns($release_tracker); stub($art_link_release_field)->getArtifactLinkFieldName()->returns('art_link_' . $art_link_release_field_id); $art_link_release_criterion = new Tracker_Report_Criteria(null, $report, $art_link_release_field, 0, true); $sprint_tracker_id = 365; $sprint_tracker = aTracker()->withId($sprint_tracker_id)->build(); $art_link_sprint_field_id = 511; $art_link_sprint_field = mock('Tracker_CrossSearch_ArtifactReportField'); stub($art_link_sprint_field)->getTracker()->returns($sprint_tracker); stub($art_link_sprint_field)->getArtifactLinkFieldName()->returns('art_link_' . $art_link_sprint_field_id); $art_link_sprint_criterion = new Tracker_Report_Criteria(null, $report, $art_link_sprint_field, 0, true); $criteria = array($art_link_release_criterion, $art_link_sprint_criterion); $this->sprint_id = '354'; $this->sprint = stub('Tracker_Artifact')->getTitle()->returns('The planning known as Sprint'); $this->release_id = '666'; $this->release = stub('Tracker_Artifact')->getTitle()->returns('I release I can fly'); $artifact_node = new TreeNode(); $artifact_node->setId(1); $artifact_node->setData(array('id' => 123, 'title' => 'foo', 'last_changeset_id' => '567', 'art_link_' . $art_link_sprint_field_id => $this->sprint_id, 'art_link_' . $art_link_release_field_id => $this->release_id)); $tree_of_artifacts = new TreeNode(); $tree_of_artifacts->setId(0); $tree_of_artifacts->addChild($artifact_node); $this->artifact_factory = new MockTracker_ArtifactFactory(); $factory = new MockTracker_FormElementFactory(); $tracker = new MockTracker(); $artifact = new MockTracker_Artifact(); $this->user = mock('PFUser'); $artifact->setReturnValue('getTracker', $tracker); stub($this->artifact_factory)->getArtifactById(123)->returns($artifact); $this->view = new Tracker_CrossSearch_SearchContentView($report, $criteria, $tree_of_artifacts, $this->artifact_factory, $factory, $this->user); }