Пример #1
0
 public function _itRemovesFromQueryArtifactIdsThatAreNotReadableByUser()
 {
     $user = mock('User');
     $release_tracker_id = 999;
     $release_tracker = aTracker()->withId($release_tracker_id)->build();
     $sprint_tracker_id = 666;
     $sprint_tracker = aTracker()->withId($sprint_tracker_id)->build();
     $artifacts_ids = array($release_tracker_id => array(1, 512), $sprint_tracker_id => array(33));
     $query = aCrossSearchCriteria()->withArtifactIds($artifacts_ids)->build();
     $report = new MockTracker_Report();
     $artifact1 = new Tracker_Artifact(1, $release_tracker_id, null, null, null);
     stub($this->artifact_factory)->getArtifactsByTrackerIdUserCanView($user, $release_tracker_id)->returns(array($artifact1));
     stub($this->artifact_factory)->getArtifactsByTrackerIdUserCanView($user, $sprint_tracker_id)->returns(array());
     $this->planning_trackers = array($release_tracker, $sprint_tracker);
     $builder = new Tracker_CrossSearch_CriteriaBuilder($this->form_element_factory, $this->semantic_factory, $this->planning_trackers);
     $builder->getArtifactLinkCriteria($user, $report, $query);
     $this->assertEqual($query->listArtifactIds(), array(1));
 }