Пример #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));
 }
Пример #2
0
 /**
  * Call getCriteria on this criteria_builder 
  * 
  * @param PFUser                      $user			 	an user
  * @param Project                   $project			a project
  * @param Tracker_Report            $report				a tracker report
  * @param Tracker_CrossSearch_Query $cross_search_query a cross search query
  * 
  * @return array of Tracker_Report_Criteria
  */
 protected function getCriteria(PFUser $user, Project $project, Tracker_Report $report, Tracker_CrossSearch_Query $cross_search_query)
 {
     return $this->criteria_builder->getCriteria($user, $project, $report, $cross_search_query);
 }