예제 #1
0
 public function itReturnsDeniedTrackersIfTheSelectedTrackerIsOfAKanbanHierarchyOrConcernedByKanban()
 {
     $hierarchy42_78_68 = stub('Tracker_Hierarchy')->flatten()->returns(array(42, 78, 68));
     $tracker42 = aMockTracker()->withId(42)->build();
     stub($tracker42)->getHierarchy()->returns($hierarchy42_78_68);
     $tracker78 = aMockTracker()->withId(78)->build();
     stub($tracker78)->getHierarchy()->returns($hierarchy42_78_68);
     $tracker68 = aMockTracker()->withId(68)->build();
     stub($tracker68)->getHierarchy()->returns($hierarchy42_78_68);
     $tracker34 = aMockTracker()->withId(34)->build();
     stub($tracker34)->getHierarchy()->returns($this->hierarchy);
     $tracker55 = aMockTracker()->withId(55)->build();
     stub($tracker55)->getHierarchy()->returns($this->hierarchy);
     stub($this->tracker)->getHierarchy()->returns($this->hierarchy);
     stub($this->tracker_factory)->getTrackersByGroupIdUserCanView()->returns(array(12 => $this->tracker, 42 => $tracker42, 78 => $tracker78, 68 => $tracker68, 34 => $tracker34, 55 => $tracker55));
     stub($this->kanban_factory)->getKanbanTrackerIds()->returns(array(12, 34, 55));
     stub($this->planning_factory)->getPlanningTrackerIdsByGroupId()->returns(array());
     stub($this->planning_factory)->getBacklogTrackerIdsByGroupId()->returns(array(42));
     stub($this->hierarchy)->flatten()->returns(array(12, 34, 55));
     $this->assertEqual(array_keys($this->hierarchy_checker->getDeniedTrackersForATrackerHierarchy($this->tracker, $this->user)), array(42, 78, 68));
 }