private function aMockTrackerFactoryWith($project_id, $project_trackers)
 {
     $tracker_factory = new MockTrackerFactory();
     $tracker_factory->expectOnce('getTrackersByGroupId', array($project_id));
     $tracker_factory->setReturnValue('getTrackersByGroupId', $project_trackers);
     return $tracker_factory;
 }
Exemplo n.º 2
0
 /**
  * Given I have 3 plugin_tracker_artifact references in the template project
  * - bug
  * - issue
  * - task
  * And 'bug' correspond to 'Bug' tracker
  * And 'task' correspond to 'Task' tracker
  * And 'issue' was created by hand by the admin
  * And 'Bug' tracker is instanciated for new project
  * And 'Task' tracker is not instanciated for new project
  *
  * Then 'issue' reference is created
  * And 'bug' reference is not created (it's up to tracker creation to create the reference)
  * And 'task' reference is not created (it's up to tracker creation to create the reference)
  *
  */
 public function testDuplicateCopyReferences()
 {
     $source_project_id = 100;
     $destinatnion_project_id = 120;
     $u_group_mapping = array();
     $tm = TestHelper::getPartialMock('TrackerManager', array('getTrackerFactory', 'getReferenceManager'));
     $tf = new MockTrackerFactory();
     $tf->expectOnce('duplicate');
     $tm->setReturnValue('getTrackerFactory', $tf);
     $r1 = new Reference(101, 'bug', 'desc', '/plugins/tracker/?aid=$1&group_id=$group_id', 'P', 'plugin_tracker', 'plugin_tracker_artifact', 1, 100);
     $r2 = new Reference(102, 'issue', 'desc', '/plugins/tracker/?aid=$1&group_id=$group_id', 'P', 'plugin_tracker', 'plugin_tracker_artifact', 1, 100);
     $r3 = new Reference(103, 'task', 'desc', '/plugins/tracker/?aid=$1&group_id=$group_id', 'P', 'plugin_tracker', 'plugin_tracker_artifact', 1, 100);
     $rm = new MockReferenceManager();
     $rm->expectOnce('getReferencesByGroupId', array($source_project_id));
     $rm->setReturnValue('getReferencesByGroupId', array($r1, $r2, $r3));
     $tm->setReturnValue('getReferenceManager', $rm);
     $t1 = new MockTracker();
     $t1->setReturnValue('getItemName', 'bug');
     $t1->setReturnValue('mustBeInstantiatedForNewProjects', true);
     $t2 = new MockTracker();
     $t2->setReturnValue('getItemName', 'task');
     $t2->setReturnValue('mustBeInstantiatedForNewProjects', false);
     $tf->setReturnValue('getTrackersByGroupId', array($t1, $t2), $source_project_id);
     $rm->expectOnce('createReference', array($r2));
     $tm->duplicate($source_project_id, $destinatnion_project_id, $u_group_mapping);
 }