public function testDuplicateWithCannedResponses() { $from_tracker = new MockTracker(); $to_tracker = new MockTracker(); $tf = new MockTrackerFactory(); $tf->setReturnReference('getTrackerById', $from_tracker, array(102)); $tf->setReturnReference('getTrackerById', $to_tracker, array(502)); $cr1 = new MockTracker_CannedResponse(); $cr1->setReturnValue('getTitle', 'cr1'); $cr1->setReturnValue('getBody', 'body of cr1'); $cr2 = new MockTracker_CannedResponse(); $cr2->setReturnValue('getTitle', 'cr2'); $cr2->setReturnValue('getBody', 'body of cr2'); $cr3 = new MockTracker_CannedResponse(); $cr3->setReturnValue('getTitle', 'cr3'); $cr3->setReturnValue('getBody', 'body of cr3'); $crs = array($cr1, $cr2, $cr3); $crf = new Tracker_CannedResponseFactoryTestVersion(); $crf->setReturnReference('getTrackerFactory', $tf); $crf->setReturnValue('getCannedResponses', $crs, array($from_tracker)); $crf->expectCallCount('create', 3, 'Method create should be called 3 times.'); $crf->expectAt(0, 'create', array($to_tracker, 'cr1', 'body of cr1')); $crf->expectAt(1, 'create', array($to_tracker, 'cr2', 'body of cr2')); $crf->expectAt(2, 'create', array($to_tracker, 'cr3', 'body of cr3')); $crf->duplicate(102, 502); }
public function setUp() { parent::setUp(); $this->user = mock('PFUser'); $this->user->setReturnValue('getId', 666); $this->artifact = new MockTracker_Artifact($this); $af = new MockTracker_ArtifactFactory($this); $af->setReturnReference('getArtifactById', $this->artifact, array('1')); $this->report = new MockTracker_Report($this); $rf = new MockTracker_ReportFactory($this); $rf->setReturnReference('getReportById', $this->report, array('2', $this->user->getId(), true)); $this->tracker = new MockTracker($this); $this->tracker->setReturnValue('isActive', true); $this->tracker->setReturnValue('userCanView', true); $tf = new MockTrackerFactory($this); $tf->setReturnReference('getTrackerById', $this->tracker, array(3)); $this->formElement = new MockTracker_FormElement_Interface($this); $ff = new MockTracker_FormElementFactory($this); $ff->setReturnReference('getFormElementById', $this->formElement, array('4')); $this->artifact->setReturnReference('getTracker', $this->tracker); $this->report->setReturnReference('getTracker', $this->tracker); $this->formElement->setReturnReference('getTracker', $this->tracker); $this->url = new Tracker_URLTestVersion($this); $this->url->setReturnReference('getTrackerFactory', $tf); $this->url->setReturnReference('getTracker_FormElementFactory', $ff); $this->url->setReturnReference('getArtifactFactory', $af); $this->url->setReturnReference('getArtifactReportFactory', $rf); }
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; }
/** * 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); }