function testGetWithChildren() { $tracker = aTracker()->withId(1)->build(); $dao = new MockTracker_Hierarchy_Dao(); $children_ids = TestHelper::arrayToDar(array('parent_id' => 1, 'child_id' => 2), array('parent_id' => 1, 'child_id' => 3)); $dao->setReturnValue('getChildren', $children_ids, array($tracker->getId())); $child1 = aTracker()->withId(2)->build(); $child2 = aTracker()->withId(3)->build(); $tracker_factory = new MockTrackerFactory(); $tracker_factory->setReturnValue('getTrackerById', $child1, array(2)); $tracker_factory->setReturnValue('getTrackerById', $child2, array(3)); $factory = new Tracker_Hierarchy_HierarchicalTrackerFactory($tracker_factory, $dao); $hierarchical_tracker = $factory->getWithChildren($tracker); $children = $hierarchical_tracker->getChildren(); $children = $this->assertChildEquals($children, $child1); $children = $this->assertChildEquals($children, $child2); $this->assertEqual(count($children), 0); }
private function getHierarchyController($request) { $dao = new Tracker_Hierarchy_Dao(); $tracker_factory = $this->getTrackerFactory(); $factory = new Tracker_Hierarchy_HierarchicalTrackerFactory($tracker_factory, $dao); $hierarchical_tracker = $factory->getWithChildren($this); $controller = new Tracker_Hierarchy_Controller($request, $hierarchical_tracker, $factory, $dao); return $controller; }